我想在主机B,C,D上有主机运行脚本ssh
。该脚本需要知道主机的主机名(是B,C还是D?)。如何在远程运行的脚本中询问`hostname`
我碰到下面的问题来了,当我执行主机A下面的脚本:
#!/bin/sh
ssh [email protected]$1 <<'EOF'
echo 12345`hostname`ABC
EOF
我得到ABC45myhostB
,而不是12345myhostBABC
主机名myhostB
。
主机A是Ubuntu服务器10.4 32位,主机B,C,D是Windows XP,从cygwin运行openssh。
貌似的'hostname'包括回车符('\ r ') – mob 2012-04-16 19:23:43
您是否尝试过echo“12345'hostname'ABC”? – 2012-04-16 19:49:54
>看起来像主机名输出包含回车 是的,它的确如此。但只有远程执行。当在同一台机器上本地执行时,相同的命令工作得很好。 – 2012-04-16 20:00:15