変数に値が設定されていたら変更せず、設定されていなければ初期値を設定する方法

bashシェルでは、以下に記述する方法で、変数を初期化することができます。
ifを使う必要がなくスマートにシェルスクリプトを記述できると思います。


変数の初期化・値がある場合は変更なし・値がない場合は初期値を設定する実行例

if then else による変数初期化を簡単に書くことができます。

例:変数vに値がある場合は変化なし、変数vが空の場合は初期値(左辺値)を設定

これを以下のように記述することができます。

v=${v:-tsubaki}

実際に実行してみます。

$ unset -v v
$ v=${v:-tsubaki}
$ echo $v
tsubaki
$ v=sakura
$ v=${v:-tsubaki}
$ echo $v
sakura

したがって、以下のような構文になります。

初期化確認変数=${初期化確認変数:-左辺の変数が空の場合に設定する値}

例:変数sに値がある場合は、変数sの値を変数vに代入する実行例になります。

これを以下のように記述することができます。

v=${s:-tsubaki}

実際に実行してみます。

したがって、以下のような構文になります。

変数=${値があった場合代入する変数:-左辺の変数が空の場合に設定する値}

以上、bashの便利な機能を使用して変数の初期化をする方法の紹介でした。

linux_btm_top.html is not found or not readable.

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS