私の書いた、LD_LIBRARY_PATH
にライブラリを追加する関数です。
・初回(変数が空)の場合
⇒ 単にパスをセットする
・変数にすでにパスが追加済みの場合
⇒ 何もしない
・変数が空でなく、新規追加の場合
⇒ 変数値の末尾に:
を追加して、その後ろにパスを追加
PATH
への追加だと、「PATH
は空でありえない」という仮定を置けるのですが、一般の変数だと空かもしれないので、その考慮が必要です。
Bash
1# この関数は /etc/profile.d/ の下で定義しておく
2ldpath () {
3 case ":${LD_LIBRARY_PATH}:" in
4 *:"$1":*)
5 ;;
6 *) export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}${LD_LIBRARY_PATH:+:}$1
7 ;;
8 esac
9}
10
11# 以下は、~/.bashrcなどに書く
12ldpath /usr/local/lib
13ldpath /opt/xxxx/lib
14ldpath ~/lib
他にも使ったことがあるような気がします。
あと、昔のshだと引数がゼロ個の時に"$@"
が1つの空文字列に置換されたので、引数をそのまま別のコマンドに渡したい場合は${1+"${@}"}
のように書く必要がありました。現在のBashその他では、引数がゼロ個の時に"$@"
は全くの空になりますので、そのまま書けばいいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/08 11:08
2020/02/29 11:09