在远程主机上执行bash时找不到命令

时间:2017-09-05 07:22:07

标签: linux bash shell ssh remote-host

为什么我无法在远程主机上执行命令。 我想念一下吗?

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.

1 个答案:

答案 0 :(得分:1)

看起来您的远程shell是the C shell,而不是Bash。

您有几种选择:

  • 调整您的代码以符合该shell的语言:

   ssh $host_name  '
   set STR="Hello World\!"
   echo $STR
   '
  • 在远程进程中执行/bin/bash(如果可用),例如:

   ssh $host_name  '
   exec /bin/bash
   STR="Hello World!"
   echo $STR
   '
  • 将该节点上用户的默认shell更改为/bin/bash,请参阅chsh(1)联机帮助页。