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

理想情况下,我希望在循环通过网络中的每台计算机(我已经可以这样做)并执行之前在命令行输入几个命令。例如说我想复制两个不同的文件

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

谢谢

4

1 回答 1

1

循环遍历网络中的所有计算机并执行在命令行输入的命令

您可能会使用 ssh,因此您会执行以下操作:

ssh $hostname "$command"

我不是 csh 用户,所以我可能有语法错误。对于当前机器,您可以使用eval应该解释任何命令序列的 shell 命令,而不仅仅是简单的命令。

于 2013-02-25T14:51:53.500 回答