0

ネットワーク内のすべてのコンピューターをループし、コマンド ラインに入力されたコマンドを実行する単純な csh スクリプトを作成したいと考えています。

echo -n "Please enter command you would like executed on all computers > \n " set command = "$<"

ユーザーが ls | と入力するとします。何かをgrepします。次の行でこのコマンドをどのように実行しますか? $commandなどの入力でうまくいくか試し てみましたecho "Hello World"。ls | に対して次のエラーが表示されます。何かをgrepする

ls: |: No such file or directory ls: grep: No such file or directory ls: something: No such file or directory

理想的には、コマンド ラインでいくつかのコマンドを入力してから、ネットワーク内の各コンピューターをループして (これは既に実行できます)、実行したいと考えています。たとえば、2 つの異なるファイルをコピーしたいとします。

sudo cp ./bin/elastix /usr/bin; sudo cp ./lib/transformix /usr/lib

ありがとう

4

1 に答える 1

1

ネットワーク内のすべてのコンピューターをループし、コマンド ラインで入力されたコマンドを実行します。

おそらくsshを使用しているので、次のようにします:

ssh $hostname "$command"

私は csh ユーザーではないので、構文が間違っている可能性があります。現在のマシンevalでは、単純なコマンドだけでなく、任意のコマンド シーケンスを解釈するシェル コマンドを使用できます。

于 2013-02-25T14:51:53.500 に答える