通过ssh在远程主机上执行脚本

通过ssh在远程主机上执行脚本

我编写了一个脚本 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

但我还是不知道为什么会发生这种情况。

相关内容