读取用户输入(应该是linux命令)并执行

时间:2013-02-25 14:25:32

标签: linux csh

我希望编写一个简单的csh脚本,它循环遍历网络中的所有计算机并执行在命令行输入的命令

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

说用户输入ls | grep的东西。我将如何在以下行中执行此命令?我试过了 $command适用于echo "Hello World"等输入。我得到ls |的以下错误grep something

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 个答案:

答案 0 :(得分:1)

  

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

你可能正在使用ssh,所以你会做类似的事情:

ssh $hostname "$command"

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