gpt4 book ai didi

bash - 为通过 RO 文件系统上的 ssh 启动的命令附加到远程环境变量

转载 作者:行者123 更新时间:2023-12-02 13:55:51 28 4
gpt4 key购买 nike

我可以像这样在远程机器上运行 Python 脚本:

ssh -t <machine> python <script>

我也可以这样设置环境变量:
ssh -t <machine> "PYTHONPATH=/my/special/folder python <script>"

我现在想追加到远程 PYTHONPATH并尝试过
ssh -t <machine> 'PYTHONPATH=$PYTHONPATH:/my/special/folder python <script>'

但这不起作用,因为 $PYTHONPATH不会在远程机器上得到评估。

有一个比较 similar question在 SuperUser 上,接受的答案要我创建一个由 ssh 解释的环境文件和 another question这可以通过创建和复制一个执行的脚本文件而不是 python 来解决.

这两个都是 可怕并要求目标文件系统是可写的(对我来说不是这样)!

是否有一种优雅的方式可以通过 ssh 传递环境变量?或提供 Python 的附加模块路径?

最佳答案

使用 /bin/sh -c '/usr/bin/env PYTHONPATH=$PYTHONPATH:/.../ python ...' 怎么样?作为远程命令?

编辑(重新评论以证明这应该做它应该给出正确的引用):

bash-3.2$ export FOO=bar
bash-3.2$ /usr/bin/env FOO=$FOO:quux python -c 'import os;print(os.environ["FOO"])'
bar:quux

关于bash - 为通过 RO 文件系统上的 ssh 启动的命令附加到远程环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40747448/

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