在执行中使用cat命令的输出(bash)

时间:2014-08-10 11:24:01

标签: bash shell unix

简单的问题我认为..但我无法用谷歌找到它..

我有一个文件test.txt ..它包含;

blah
blah2
blah3

我想做的是;

cat test.txt 然后执行;

./script blah
./script blah2
./script blah3

但是我想在一条线上做..最好的方法是什么...?我知道使用&&是一个选项..但也许有更好的方法来传递字符串?

2 个答案:

答案 0 :(得分:3)

不需要cat(或任何其他外部工具)。类似的东西:

while read line; do ./script "$line"; done < test.txt

使用shell内置read完成您想要的任务。

正如评论中所指出的,这假设您与脚本位于同一目录中。如果没有,请将./script替换为path/to/script

答案 1 :(得分:3)

使用xargs

xargs -n 1 ./script < test.txt