通过连接到AIX盒的putty窗口执行时,我有一个成功运行的命令。
ssh -T user@host 'sudo /path/to/command argument1'
但是,当我在基于询问用户和主机的脚本中构建该命令时,它会给我这个错误。
ksh: sudo /path/to/command argument1: not found.
我的脚本设置为在运行时输出命令。
#!/bin/ksh -x
这是脚本中最终给出上面输出的文本 -
ssh -T $(whoami)@$server "'"$userid $script$action"'"
这是该脚本文本的输出(与在脚本外调用它相同) -
ssh -T user@host 'sudo /path/to/command argument1'
执行方式有什么不同吗?
更新
我将脚本更改为只连接而不执行,我收到以下错误,但它仍然连接。 -
ssh -T user@host
user@host's password:
stty: tcgetattr: A specified file does not support the ioctl system call.
#
答案 0 :(得分:1)
答案 1 :(得分:0)
我能够弄清楚这一点,虽然我很想解释。从脚本中删除单引号使其工作。
从脚本和外部脚本开始工作:
ssh -T $(whoami)@$server $userid $script$action
不适用于脚本,但可以在脚本之外工作:
ssh -T $(whoami)@$server "'"$userid $script$action"'"