-1

我有以下文件

  1. 构建.sh

    source exportpath.sh
    
  2. 导出路径.sh

    export LD_LIBRARY_PATH=/usr/local/lib/
    

但是,当我执行此 build.sh 然后运行echo $LD_LIBRARY_PATH命令时,我无法获得该LD_LIBRARY_PATH值。如何将此值设置为current shell.

我发现我们必须source在当前的 shell 中使用它。但我希望它通过一个 shell 脚本来完成。

当我source exportpath.sh在当前 shell 中使用时,我LD_LIBRARY_PATH正在工作,但我希望这应该由 shell 脚本完成。

我怎样才能做到这一点?

4

2 回答 2

2

没有神奇的方法可以将子 shell 中设置的环境变量传播到父 shell。看到这个回复

您可以实现一些约定,例如通过exportpath.sh采用文件名,build.sh稍后source(或使用eval)。

您可能希望拥有自己的外壳function来包装两者。

但是通常不应该做这种奇怪的把戏。例如,您可以将一些程序包装到一个 shell 脚本中来设置LD_LIBRARY_PATHmozillafirefox经常做这样的事情)。

于 2012-12-10T06:34:41.737 回答
-4
echo $LD_LIBRARY_PATH

注意使用“$”来引用变量值。

于 2012-12-10T06:03:54.427 回答