2013-02-25 40 views
0

我希望寫哪些循環通過網絡中的所有計算機,並執行的命令被輸入在命令行讀取用戶輸入(其應該是一個Linux命令),並執行

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

一個簡單的CSH腳本

表示用戶輸入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

理想情況下,我想在命令行通過每臺計算機在網絡中循環(我已經可以做到)前輸入幾個命令和執行。例如說,我想在網絡中通過所有計算機來拷貝兩個不同的文件

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

感謝

回答

1

循環和執行命令輸入在命令行

你將可能使用SSH,所以你會做這樣的事情:

ssh $hostname "$command" 

我不是一個csh用戶,所以我可能有語法錯誤。對於當前機器,您可以使用eval shell命令來解釋任何命令序列,而不僅僅是簡單的命令。

+0

謝謝。問題似乎是在當前機器上執行命令。我已經打算使用'ssh $ hostname「$ command」' – moadeep 2013-02-25 15:10:21

相關問題