2015-04-02 151 views
0

当我尝试通过server_remote中的ssh运行多个命令时,第三个命令返回本地服务器的结果。 例如:ssh:执行几条命令

ssh remote_server "cd $LOGPATH ; ls -ltr logProgram1* | tail -1" 

rediects当地$ LOGPATH,不返回从remote_server的结果。

回答

0

您需要引用以获取传递给远程shell的$ LOGPATH。现在它只是在本地扩展$ LOGPATH并发送它。

ssh remote-server "cd \$LOGPATH ; ls ....." 

可能会更好。

只是一句谨慎。您的环境可能不是您所期望的,因为您的shell init脚本文件不一定与交互式登录shell相似地进行处理。首先检查环境,确保你的$ LOGPATH是它应该是的。

ssh remote-server env 

如果您需要调试将会很有帮助。

+0

“cd $ LOGPATH”效果很好,但“ls -ltr logProgram1 *”或“ls -ltr logProgram1 \\ *”没有找到任何文件,但有许多文件具有该模式 – 2015-04-03 07:32:34