端末を実行するたびに、「.bashrc構文エラー:予期しないファイルの終わり」というエラーメッセージが表示されます。
だから私は問題を理解するためにその一部に言及し始めました。おそらく以下のif条件にあるようです。動作するように編集する方法を知りたいです。
if ("1" == "$?LD_LIBRARY_PATH") then
if ("$LD_LIBRARY_PATH" !~ */usr/local/iscir/lib*) then
export LD_LIBRARY_PATH /usr/local/iscir/lib:$LD_LIBRARY_PATH
endif
else
export LD_LIBRARY_PATH /usr/local/iscir/lib
endif
私はこれを試しましたが、成功しませんでした。
if ["1" == "$?LD_LIBRARY_PATH"]; then
if ["$LD_LIBRARY_PATH" !~ */usr/local/iscir/lib*]; then
export LD_LIBRARY_PATH /usr/local/iscir/lib:$LD_LIBRARY_PATH
fi
else
export LD_LIBRARY_PATH /usr/local/iscir/lib
fi
ベストアンサー1
endif
バッシュにはありません。声明はif
で終わりますfi
。また[ ]
、テスト構成を使用する場合、正規表現一致[
演算子はPOSIXの代わりに=~
bashの特殊記号を必要とし、一致を無効にするには使用できない完全なテスト()を無効にする必要があります。 、シェルグローブの代わりに。したがって、それ自体には意味がなく、「すべての文字」が必要です。その後、変数を設定してエクスポートする形式は、であり、との間に偽があります。だからこれを試してみてください:[[ ]]
[ ]
[[ ! foo ~ bar ]]
!~
*
.*
export foo=bar
?
$
LD_LIBRARY_PATH
if [ "1" == "$LD_LIBRARY_PATH" ]; then
if [[ ! "$LD_LIBRARY_PATH" =~ .*/usr/local/iscir/lib.* ]]; then
export LD_LIBRARY_PATH="/usr/local/iscir/lib:$LD_LIBRARY_PATH"
fi
else
export LD_LIBRARY_PATH="/usr/local/iscir/lib"
fi
これはうまくいくはずですが、すべてが理解できません。いつLD_LIBRARY_PATH
ですか1
?私はこれがどのように行われるのか本当に理解していません。まだ存在しない/usr/local/iscir/lib
場合に追加したい場合は、次のようにします。LD_LIBRARY_PATH
if [ -z "$LD_LIBRARY_PATH" ]; then
export LD_LIBRARY_PATH="/usr/local/iscir/lib"
elif [[ ! "$LD_LIBRARY_PATH" == */usr/local/iscir/lib* ]]; then
export LD_LIBRARY_PATH="/usr/local/iscir/lib:$LD_LIBRARY_PATH"
fi