ブール変数を否定し、それを新しい変数に割り当てます[重複]
Bashスクリプトで、y
別のブール変数の否定値を格納するブール変数を定義したいと思いますx
。次のスクリプト、
#!/bin/bash
x=true
y=$(( ! "${x}" ))
echo "${y}"
変数y
を1に設定します。代わりy
に評価されるように変更するにはどうすればよいfalse
ですか?
回答
3 axiac
Bashには、変数のブール値の概念がありません。その変数の値は常に文字列です。一部のコンテキストでは数値として処理できますが、実行できるのはそれだけです。
代わりに1
andを使用0
するか、(with=
または==
)をtrue
andfalse
との文字列として比較し、ブール値のふりをすることができます。コードはより読みやすくなりますが、それでも文字列です:-)