我想写一个脚本来在某些机器上运行一个程序。我可以登录到这些机器来执行该程序。
但是当我尝试“ssh -n -f hostname“cd xxx; ./xxx”时,它打印“加载共享库时出错:libzmq.so.4”。
我在 Google 上搜索了一下,非常确定我将 LD_LIBRARY_PATH 放在了 .bashrc 文件中,而且当我执行 ssh -n -f hostname "echo $LD_LIBRARY_PATH" 时,加载路径已正确设置。
有人能帮助我吗?非常感谢!
答案1
当使用 ssh 登录时,~/.bashrc 不是源 - 但 ~/.bash_profile 是 - 因此如果您在 ~/.bashrc 中设置了 LD_LIBRARY_PATH,则您需要在 ~/.bash_profile 中包含如下内容:
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
此外,在您的 ~/.bashrc 中您可能有:
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
如果这样做,那么您需要在文件上方添加 LD_LIBRARY_PATH 设置。