[解決済み] bashのifブロックの中でboolean変数を評価する方法は?重複
2022-11-03 09:33:53
質問
以下の変数を定義しています。
myVar=true
では、このようなものを実行したいと思います。
if [ myVar ]
then
echo "true"
else
echo "false"
fi
上記のコードは動作しますが、もし私が
myVar=false
を実行しても、trueが出力されます。 何が問題なのでしょうか?
edit: 私は、次のような形式で何かをすることができることを知っています。
if [ "$myVar" = "true" ]; then ...
が、なんだかぎこちない。
ありがとうございます。
どのように解決するのですか?
はブーリアン変数を知りませんし、また
test
(を使用したときに呼び出されるものです)。
[
).
解決策としては
if $myVar ; then ... ; fi
なぜなら
true
と
false
を返すコマンドです。
0
または
1
は、それぞれ
if
が期待するものです。
値が "swapped" されていることに注意してください。の後のコマンドは
if
の後のコマンドは
0
を返さなければならないが
0
は、ほとんどのプログラミング言語で「偽」を意味します。
セキュリティ警告
: これは BASH が変数を展開し、その結果をコマンドとして実行しようとするために動作します! のような悪意のあるコードが変数に含まれていないことを確認してください。
rm -rf /
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
-
[解決済み】Bashでファイル名と拡張子を抽出する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] bashで変数に改行を埋め込もうとする [重複].
-
[解決済み] set -u` による Bash による空の配列展開
-
[解決済み] シェルスクリプトで行末にセミコロンは不要?重複
-
[解決済み] すべてのファイルに再帰的にファイル拡張子を追加する
-
[解決済み] コマンドでファイルを使用し、出力を切り詰めることなく同じファイルにリダイレクトするにはどうすればよいですか?
-
[解決済み] Bashはどのように異なるディレクトリコンテキストでコマンドを実行できますか?
-
[解決済み] homebrew パッケージがインストールされているかどうかを検出する
-
[解決済み] bash で文字列をエスケープするコマンド
-
[解決済み] シェルのワイルドカード文字展開を停止しますか?