kingd 发表于 2008-5-22 00:48

请教shell 高人

我想在linux 下利用软件 tool成批量的测试特定某文件(以casl结尾), 这个软件有命令行接口
例如 输入
tool A.casl
就进入了该软件的命令行交互界面
输入这个软件的内部命令
test
就会出现一些信息, 我想把该信息存入 A.test.txt 文件里
然后输入这个软件的内部命令
quit
退出这个软件

怎么写呢,这里不能用pipeline,好像要用个类似 child process 什么的,
有高人能指点一下吗

[ 本帖最后由 kingd 于 2008-5-22 17:35 编辑 ]

☆笑着流泪★ 发表于 2008-5-22 00:55

$汗$ $汗$ $汗$ 还以为是MSN shell

flysmall 发表于 2008-5-22 21:38

shell 的执行是可以直接作为命令行交互界面的参数的, 你可以直接写在一行, 作为命令行界面的输入, 和键盘打入stdin没有区别。 不必使用管道。


这个也是shell的优势之一。

kingd 发表于 2008-5-23 19:57

不太明白,能不能再说明白点,怎么写在一行啊$frage$
$送花$ $送花$ $送花$

bergheidel 发表于 2008-5-29 18:06

原帖由 kingd 于 2008-5-22 01:48 发表 http://www.dolc.de/forum/images/common/back.gif
我想在linux 下利用软件 tool成批量的测试特定某文件(以casl结尾), 这个软件有命令行接口
例如 输入
tool A.casl
就进入了该软件的命令行交互界面
输入这个软件的内部命令
test
就会出现一些信息, 我想把该信息 ...


你看看这行不:

shell % echo "test" > input.txt
shell % tool A.casl < input.txt > A.result.log

;-)
cheers

花生太太 发表于 2008-6-4 22:06

原帖由 bergheidel 于 2008-5-29 19:06 发表 http://www.dolc.de/forum/images/common/back.gif



你看看这行不:

shell % echo "test" > input.txt
shell % tool A.casl < input.txt > A.result.log

;-)
cheers

echo "test" > input.txt 什么意思? test是个命令, 你要把test加入到PATH的路径下

for file in yourdir
do
tool file (e,g A.casl)
filename=basename A.cas1(A)
test > filenam
sleep 10
done

IchBinZephyr 发表于 2008-6-6 11:59

我想可以用here document,好像是这么叫得吧!像gnuplot中就有这样的代码
gnuplot << EOF
plot ...
EOF
这样就可以在shell script中直接批量作图了!

Ole_2000_0 发表于 2008-6-6 17:06

.casl?? Haskell??
页: [1]
查看完整版本: 请教shell 高人