【问题标题】:ssh: execute several commandsssh:执行几个命令
【发布时间】:2015-04-02 22:43:51
【问题描述】:

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

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

重定向到本地 $LOGPATH 并且不从 remote_server 返回结果。

【问题讨论】:

    标签: shell ssh


    【解决方案1】:

    您需要引用才能将 $LOGPATH 传递给远程 shell。现在它只是在本地扩展 $LOGPATH 并将其发送过来。

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

    可能会更好。

    请注意。您的环境可能不是您期望的那样,因为您的 shell 初始化脚本文件的处理方式不一定与交互式登录 shell 类似。首先检查环境以确保您的 $LOGPATH 是它应该是的。

    ssh remote-server env
    

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

    【讨论】:

    • "cd $LOGPATH " 运行良好,但是 "ls -ltr logProgram1*" 或 "ls -ltr logProgram1\*" 没有找到任何文件,但是有很多文件具有该模式
    猜你喜欢
    • 1970-01-01
    • 2019-06-10
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 2011-09-19
    • 1970-01-01
    相关资源
    最近更新 更多