Bash の条件文で「何もしない」という意味のコマンドは何ですか? 質問する

Bash の条件文で「何もしない」という意味のコマンドは何ですか? 質問する

条件文を作成するときに、何もしないコードが必要になることがあります。たとえば、ここでは、が$a「10」より大きい場合は何もせず、$a「5」より小さい場合は「1」を出力し、それ以外の場合は「2」を出力するように Bash に要求します。

if [ "$a" -ge 10 ]
then
elif [ "$a" -le 5 ]
then
    echo "1"
else
    echo "2"
fi

ただし、これではエラーが発生します。何もせず、スクリプトの速度も低下させないコマンドはありますか?

ベストアンサー1

シェルの no-op コマンドは:(コロン) です。

if [ "$a" -ge 10 ]
then
    :
elif [ "$a" -le 5 ]
then
    echo "1"
else
    echo "2"
fi

bash マニュアルより:

:(コロン)
引数の展開とリダイレクトの実行以外は何も行いません。戻りステータスは 0 です。

おすすめ記事