シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか? 質問する

シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか? 質問する

次の構文を使用して、シェル スクリプトでブール変数を宣言しようとしました。

variable=$false

variable=$true

これは正しいでしょうか? また、その変数を更新する場合、同じ構文を使用しますか? 最後に、ブール変数を式として使用するための次の構文は正しいですか?

if [ $variable ]

if [ !$variable ]

ベストアンサー1

修正された回答 (2014 年 2 月 12 日)

the_world_is_flat=true
# ...do something interesting...
if [ "$the_world_is_flat" = true ] ; then
    echo 'Be careful not to fall off!'
fi

元の回答

注意:https://stackoverflow.com/a/21210966/89391

the_world_is_flat=true
# ...do something interesting...
if $the_world_is_flat ; then
    echo 'Be careful not to fall off!'
fi

から:Bash でブール変数を使用する

元の回答がここに含まれている理由は、2014年2月12日の改訂前のコメントは元の回答にのみ関係しており、改訂された回答に関連するコメントの多くは間違っているためです。たとえば、デニス・ウィリアムソンのコメント2010 年 6 月 2 日のbash 組み込みに関するコメントは、true元の回答にのみ適用され、修正された回答には適用されません。

おすすめ記事