【发布时间】:2015-04-02 22:43:51
【问题描述】:
当我尝试在 server_remote 中通过 ssh 运行多个命令时,第三个命令返回本地服务器的结果。 例如:
ssh remote_server "cd $LOGPATH ; ls -ltr logProgram1* | tail -1"
重定向到本地 $LOGPATH 并且不从 remote_server 返回结果。
【问题讨论】:
当我尝试在 server_remote 中通过 ssh 运行多个命令时,第三个命令返回本地服务器的结果。 例如:
ssh remote_server "cd $LOGPATH ; ls -ltr logProgram1* | tail -1"
重定向到本地 $LOGPATH 并且不从 remote_server 返回结果。
【问题讨论】:
您需要引用才能将 $LOGPATH 传递给远程 shell。现在它只是在本地扩展 $LOGPATH 并将其发送过来。
ssh remote-server "cd \$LOGPATH ; ls ....."
可能会更好。
请注意。您的环境可能不是您期望的那样,因为您的 shell 初始化脚本文件的处理方式不一定与交互式登录 shell 类似。首先检查环境以确保您的 $LOGPATH 是它应该是的。
ssh remote-server env
如果您需要调试,将会很有帮助。
【讨论】: