shell命令在shell中运行但不在脚本中运行

时间:2015-02-18 06:46:46

标签: bash shell ssh sshpass

我正在编写一个shell脚本,其中包含以下行 -

sshpass -p "pwd" ssh -t hostname@$ip1 ' cd /path/to/home/oflops/cbench; ./cbench -c $ip2 -p 6633 -m 1000 -l 10 -M 1000 -s 1 -t; ' >> file

以上行在shell中运行良好但在脚本中不起作用。请帮助,我是剧本写作的新手,不能发现我的错误。

2 个答案:

答案 0 :(得分:0)

像这样运行你的命令:

sshpass -p "pwd" ssh -t hostname@$ip1 "cd /path/to/home/oflops/cbench; ./cbench -c $ip2 -p 6633 -m 1000 -l 10 -M 1000 -s 1 -t;" >> file

即。使用双引号作为命令,而不是单引号,以便能够扩展$ip2

等变量

答案 1 :(得分:-1)

“sshpass”命令未在bash脚本中运行。我按如下方式更改了上面的脚本,使其运行 -

`sshpass -p "pwd" ssh -o StrictHostKeyChecking=no hostname@$ip1 "cd /path/to/home/oflops/cbench; ./cbench -c $ip2 -p 6633 -m 1000 -l 10 -M 1000 -s 1 -t;" >> file`