我正在创建一个脚本来配置和启动软件。我当前的应用程序需要附加到 LD_LIBRARY_PATH。我知道我可以先测试它是否为空,然后直接设置它,否则附加它。
以下内容似乎不起作用,即使它包含我在 case 语句中测试的字符串,它也会继续附加到变量中。
我的安装程序
export AXIS2C_HOME=/home/ojblass/Source/axis2c-src-1.6.0
if [ "$LD_LIBRARY_PATH" == "" ]; then
echo empty setting
export LD_LIBRARY_PATH=${AXIS2C_HOME}/lib
else
case $LD_LIB_PATH in
*$AXIS2C_HOME/lib* )
echo already there skipping;;
* )
echo has entries but appending
export LD_LIBRARY_PATH=${AXIS2C_HOME}/lib:${LD_LIBRARY_PATH};;
esac
fi
echo AXIS2C_HOME=${AXIS2C_HOME}
echo LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
Example_Run
ojblass@helium:~/Source/axis2c-src-1.6.0$ pwd /home/ojblass/Source/axis2c-src-1.6.0 ojblass@helium:~/Source/axis2c-src-1.6.0$。./mysetup.sh 空设置 AXIS2C_HOME=/home/ojblass/Source/axis2c-src-1.6.0 LD_LIBRARY_PATH=/home/ojblass/Source/axis2c-src-1.6.0/lib ojblass@helium:~/Source/axis2c-src-1.6.0$。./mysetup.sh 有条目但附加 AXIS2C_HOME=/home/ojblass/Source/axis2c-src-1.6.0 LD_LIBRARY_PATH=/home/ojblass/Source/axis2c-src-1.6.0/lib:/home/ojblass/Source/axis2c-src-1.6.0/lib
正如您所注意到的,LD_LIBRARY_PATH 不断被添加。此外,我有点担心特定于 shell 并且不像我想要的那样便携。任何建议表示赞赏。