0

我有一个这样的文件。

rm a.txt
mkdir foo
cp a.doc docs

我习惯了 xargs 但以下命令没有做任何事情。

cat commands.txt | xargs -l1
4

4 回答 4

1

你这样做是不对的!如果您的文件是所有 shell 命令,请将其视为 shell 脚本。

#!/bin/bash
rm a.txt
mkdir foo
cp a.doc docs

然后在命令行上,chmod u+x commands.txt

./commands.txt

shell 脚本的“事实上的”命名约定以 extension 结尾.sh,尽管它可以是任何东西。所以尝试将你的脚本命名为“.sh”扩展名

于 2010-03-10T03:56:29.517 回答
0

厄姆:

$ mv commands.txt commands.sh

$ chmod +x 命令.sh

$ ./command.sh

于 2010-03-10T03:54:53.557 回答
0

如果您不需要使其可执行,请在您当前的 shell 中获取它:

bash/ksh/...:. commands.txt

csh/...:source commands.txt

于 2010-03-10T17:03:41.813 回答
-1

如果您的命令不在文件中,而是在程序的输出中,您可以使用 GNU Parallel http://www.gnu.org/software/parallel/

cat commands.txt | parallel -j1

如果命令可以并行运行(即不依赖于彼此来完成),你甚至可以这样做:

cat commands.txt | parallel
于 2010-06-10T19:30:36.060 回答