Linuxのbashシェルスクリプトのif文で環境変数の中身が入っているかどうか調べてみる。
目次
Linuxのbashシェルスクリプトのif文
Linuxのbashシェルスクリプトのif文は、いろいろな値を比較したり、testできる。
数値の比較オプション
例 : if [ ${hoge} -eq 0 ];then
| オプション | 説明 | 補足 |
|---|---|---|
| -eq | 等しければ真 | equal |
| -ne | 等しくなければ真 | not equal |
| -lt | より小なら真 | less than |
| -le | 以下なら真 | less than or equal |
| -gt | より大なら真 | greater than |
| -ge | 以上なら真 | greater than or equal |
文字列の比較オプション
例 : if [ "${hoge}" = "fuga" ];then
| オプション | 説明 |
|---|---|
| = | 等しければ真 |
| != | 等しくなければ真 |
ファイルディレクトリのオプション
例 : if [ -d ${hoge} ];then
| オプション | 説明 |
|---|---|
| -d | ディレクトリなら真 |
| -f | 普通のファイルなら真 |
| -s | サイズが 0 より大きければ真 |
| -e | 存在するなら真 |
| -r | 読み取り可能なら真 |
| -w | 書き込み可能なら真 |
| -x | 実行可能なら真 |
文字列長のオプション
例 : if [ -z ${hoge} ];then
| オプション | 説明 |
|---|---|
| -z | 文字列長が 0 なら真 |
| -n | 文字列長が 0 より大なら真 |
引数の比較
例 : if [ $# -eq 2 ];then
| 変数 | 説明 |
|---|---|
| $# | 実行時に指定された引数の数 |
| $1 | 実行時に指定された 1 番目の引数 |
| $n | 実行時に指定された n 番目の引数 |
実行結果の比較
例 : if [ $? -ne 0 ];then
| 変数 | 説明 |
|---|---|
| $? | 直前のコマンドの実行結果 |
シェルスクリプトのif文で環境変数を調べる
以上を踏まえて、
.bash_profile に DISPLAY環境変数が入っていれば、
$ xhost +
を実行してみる。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH if [ -n "$DISPLAY" ]; then xhost + fi |


コメント