为什么我无法在远程主机上执行命令。 我想念一下吗?
Bash文件:hello.sh
#!/bin/sh
host_name="myHost"
ssh $host_name '
STR="Hello World!"
echo $STR
'
executing above file: the print out:
> ./print_node_status.sh
Enter Windows password:
STR=Hello World!: Command not found.
STR: Undefined variable.
答案 0 :(得分:1)
看起来您的远程shell是the C shell,而不是Bash。
您有几种选择:
的
ssh $host_name '
set STR="Hello World\!"
echo $STR
'
/bin/bash
(如果可用),例如:的
ssh $host_name '
exec /bin/bash
STR="Hello World!"
echo $STR
'
/bin/bash
,请参阅chsh(1)
联机帮助页。