我希望编写一个简单的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
由于
答案 0 :(得分:1)
遍历网络中的所有计算机并执行在命令行输入的命令
你可能正在使用ssh,所以你会做类似的事情:
ssh $hostname "$command"
我不是csh用户,所以我的语法可能有误。对于当前机器,您可以使用eval
shell命令来解释任何命令序列,而不仅仅是简单的命令。