我编写了一个脚本 test.sh(其功能与“hostname”命令相同),如下所示,
#!/bin/bash
printf "`uname -a | awk '{print $2;}'` "
我可以使用以下命令获取主机名
source /home/arton/test.sh
或者
/home/arton/test.sh
然后我发出命令
ssh myhost "source /home/arton/test.sh"
并期望获得“myhost”,但我得到的是 uname -a 的总输出
Linux myhost 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 ...
经过尝试,下面的命令可以输出“myhost”
ssh myhost "/home/arton/test.sh"
ssh myhost "bash -s" < /home/arton/test.sh
但我还是不知道为什么会发生这种情况。