ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

シェルスクリプト - ”:”(コロン)の使い方

シェルスクリプトによく : を見かけるのですが、どのような挙動になるのかわからなかったため調べてみました。

":" について

:(コロン)は1文字のコマンドのようです。

実行結果

実行すると終了ステータス 0 (true)を返します。

$ : ; echo $?
0

用途

引数が与えられる

引数を渡しても何も起きませんが、引数を無視する役目を見出すことが出来ます。 なのでコメント代わりに使えます。

for command ; : ここの実行を待つ ; do
     : ここは何もしない
done
変数の初期化

調べてみたら以下のような使い方ができるようです。

処理内容
${parameter:-other} $parameter が未定義か空の場合、other を展開
${parameter:=other} $parameter が未定義か空の場合、other を代入してそれを展開
${parameter:?other} $parameter が未定義か空の場合、other を標準エラー出力に出力して終了
${parameter:+other} $parameter が未定義か空の場合以外、other を展開
true (関数)の代替

無限ループに使えます。

while : ;
do
     echo 1 ;
     sleep 1 ;
done