0

このようなファイルがあります。

rm a.txt
mkdir foo
cp a.doc docs

私は xargs に慣れていますが、次のコマンドは何もしていません。

cat commands.txt | xargs -l1
4

4 に答える 4

1

それは間違っている!ファイルがすべてシェル コマンドの場合は、シェル スクリプトとして扱います。

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

次にコマンドラインで、chmod u+x commands.txt

./commands.txt

シェル スクリプトの「デファクト」命名規則は拡張子.shで終わりますが、拡張子は何でもかまいません。したがって、スクリプトに「.sh」拡張子の名前を付けてみてください

于 2010-03-10T03:56:29.517 に答える
0

実行可能にする必要がない場合は、現在のシェルでソースします。

バッシュ/ksh/...:. commands.txt

csh/...:source commands.txt

于 2010-03-10T17:03:41.813 に答える
0

えーと:

$ mv コマンド.txt コマンド.sh

$ chmod +x command.sh

$ ./command.sh

于 2010-03-10T03:54:53.557 に答える
-1

コマンドがファイルではなくプログラムからの出力である場合は、GNU Parallel http://www.gnu.org/software/parallel/を使用できます。

cat commands.txt | parallel -j1

コマンドを並行して実行できる場合 (つまり、完了するために相互に依存しない場合)、次のこともできます。

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