我正在进行一些MPC库的安装,我来到这个命令行(之后称为“初始命令”):
LD_LIBRARY_PATH=/usr/local/gnu/gmp-6.0.0/lib:/usr/local/gnu/mpfr-3.1.2/lib ../configure --prefix=/usr/local/gnu/mpc-1.0.3 --with-gmp=/usr/local/gnu/gmp-6.0.0 --with-mpfr=/usr/local/gnu/mpfr-3.1.2
其中设置了LD_LIBRARY_PATH
以及配置命令
../configure --prefix=/usr/local/gnu/mpc-1.0.3 --with-gmp=/usr/local/gnu/gmp-6.0.0 --with-mpfr=/usr/local/gnu/mpfr-3.1.2
之后执行。请注意,在初始行之后,还有另一行相同类型,另一行设置为LD_LIBRARY_PATH
和另一个命令。
据我了解,初始行相当于
export LD_LIBRARY_PATH=/usr/local/gnu/gmp-6.0.0/lib:/usr/local/gnu/mpfr-3.1.2/lib
../configure --prefix=/usr/local/gnu/mpc-1.0.3 --with-gmp=/usr/local/gnu/gmp-6.0.0 --with-mpfr=/usr/local/gnu/mpfr-3.1.2
unset LD_LIBRARY_PATH
我错了吗?如果是这样,如果我想将初始命令放在.sh文件中,我只需要将它替换为前三行,对吧?如果没有,我怎么能这样做?
答案 0 :(得分:1)
你有点不对劲。导出使该设置可用于当前shell中的所有命令和子进程。在命令行上设置它仅在该命令的持续时间内设置它。
如果您正在编写shell脚本,设置变量并将其导出一次是很正常的,因此您不必在每一行上执行此操作。该值仅在执行shell脚本 1 期间有效。它不会影响调用shell脚本的父进程,只会影响shell脚本中的命令。您不需要在shell脚本的末尾取消设置值。
假设您没有使用.
或source
运行shell脚本,请1 。