我有这样的文件。
rm a.txt
mkdir foo
cp a.doc docs
我习惯了xargs,但是后面的命令没有做任何事情。
cat commands.txt | xargs -l1
答案 0 :(得分:1)
#!/bin/bash
rm a.txt
mkdir foo
cp a.doc docs
然后在命令行上chmod u+x commands.txt
./commands.txt
shell脚本的“defacto”命名约定以扩展名.sh
结束,尽管它可以是任何内容。因此,请尝试将脚本命名为“.sh”扩展名
答案 1 :(得分:0)
嗯:
$ mv commands.txt commands.sh
$ chmod + x command.sh
$ ./command.sh
答案 2 :(得分:0)
如果您不需要使其可执行,请在当前shell中获取它:
bash / ksh / ...:. commands.txt
csh / ...:source commands.txt
答案 3 :(得分:-1)
如果命令不在文件中但是程序的输出可能会使用GNU Parallel http://www.gnu.org/software/parallel/:
cat commands.txt | parallel -j1
如果命令可以并行运行(即不依赖于彼此完成),你甚至可以这样做:
cat commands.txt | parallel