gpt4 book ai didi

bash - 通过 ssh 远程获取脚本

转载 作者:行者123 更新时间:2023-11-29 09:31:57 24 4
gpt4 key购买 nike

我想通过 ssh 运行远程程序,需要一定的环境。因此,在执行程序之前,我获取了构建环境的特定文件。如果我直接登录到机器上,这没问题,但是当我通过 ssh 执行命令时

#!/bin/bash
foo=`ssh user@host "source ~/script.sh; ~/run/program"`

我收到一条错误消息,指出脚本的来源不正确。您知道我必须做什么才能在同一 session 中获取脚本来源和执行程序吗?

编辑:我正在使用脚本导出 LD_LIBRARY_PATH,可执行文件提示找不到共享对象文件。默认外壳是 bash。 “ session ”是明确的,而不是正确的措辞。我的意思是“终端环境”。

最佳答案

这可能不是最简洁的方法,但如果您使用交互选项 (-i) 调用 bash 并通过标准输入发送命令,它应该可以工作。

特别是,

foo=`ssh user@host bash -i <<EOF
source ~/script.sh
~/run/program
EOF`

如果您有一个脚本 program_in_env.sh 可以准确执行您想要的两个步骤:

#!/bin/bash
source ~/script.sh
~/run/program

然后你只需要调用 ssh user@host program_in_env.sh

祝你好运。

关于bash - 通过 ssh 远程获取脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25870899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com