ソフトウェアを構成して起動するスクリプトを作成しています。現在のアプリケーションでは、LD_LIBRARY_PATH に追加する必要があります。これが最初に空かどうかをテストし、それを完全に設定して、それ以外の場合は追加できることを知っています。
以下は機能していないようで、ケースステートメントでテストしている文字列が含まれていても、変数に追加し続けます。
mysetup.sh
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 が追加され続けています。また、私はシェル固有であり、私が望むほど移植性がないことを少し恐れています。アドバイスをいただければ幸いです。