構文:
[[ -v変数]]または[[ -と変数]]
「-v」または「-z」オプションは、変数が設定されているかどうかを確認するために使用されます。上記のブール式は、変数が設定されている場合はtrueを返し、変数が設定されていないか空の場合はfalseを返します。
$ {変数+文字列}
パラメータ置換は、変数が設定されているかどうかを確認するもう1つの方法です。変数が設定されている場合、文字列の値が返されます。設定されていない場合、nullが返されます。
例-1:「-z」オプションを使用して変数が設定または設定解除されていることを確認します
名前の付いたbashファイルを作成します check_var1.sh 次のスクリプトを使用します。ここで、最初の ` if` 条件はtrueを返し、 変数の数が設定されていません 印刷します。次のステートメントでは、20が変数に割り当てられます。 $ num 。 2番目の `if`条件はfalseを返し、 Numが設定され、Num = 20の値 印刷します。
check_var1.sh
#!/ bin / bash#変数が設定されているかどうかを確認します
もしも [ -と $ {Num} ];それから
捨てた 「「num」変数が設定されていません」
そうしないと
捨てた 「「num」変数が設定されています」
なれ
#値を割り当てる
1つに=20
#値を割り当てた後、変数が設定されているかどうかを確認します
もしも [ -と $ {Num} ];それから
捨てた '' num '変数が設定されていません'
そうしないと
捨てた '’ Numが設定され、Num =の値$ num'
なれ
スクリプトを実行します。
$bashcheckvar1.sh
例-2:パラメーター置換を使用して変数が設定または設定解除されていることを確認します
名前の付いたbashファイルを作成します check_var2.sh 次のスクリプトを追加します。ここでは、変数が設定されているかどうかを確認する前に、文字列値が変数$ strに割り当てられます。 「if」条件はtrueを返し、メッセージは ’str’変数が設定され、値はHelloです 印刷します。
check_var2.sh
#!/ bin / bash#変数を設定する
NS=こんにちは
#str変数が設定されている場合は、値Worldをcheckvalに割り当てます
checkval=$ {str + World}
#変数が設定または設定解除されていることを確認します
もしも [ $ checkval -eq世界];それから
捨てた '‘ str ’変数が設定され、値は$ str'
そうしないと
捨てた 「「str」変数が設定されていません」
なれ
スクリプトを実行します。
$bashcheckvar2.sh
例-3:変数が空かどうかを確認します
名前の付いたbashファイルを作成します check_var3.sh 次のスクリプトを追加します。スクリプトは、最初のコマンドライン引数を変数に格納します。 $ argv これは次のステートメントでテストされます。出力は次のようになります 最初の引数は空です 引数が渡されない場合、最初の引数の値が出力されます。
check_var3.sh
#!/ bin / sh#最初のコマンドライン引数値を読み取る
argv='$ 1'
#最初の引数の値が指定されているかどうかを確認します
[ -v '$ argv' ] && 捨てた 「最初の引数は空です」 ||
捨てた '最初の引数の値は$ argv'
引数なしでスクリプトを実行します。
$bashcheckvar3.sh引数を指定してスクリプトを実行します。
$bashcheckvar3.shテスト
結論
このチュートリアルでは、さまざまな例を使用して、変数が設定されているか、設定解除されているか、空であるかを確認するさまざまな方法を示します。このチュートリアルが、ユーザーがbash変数をテストする方法を学ぶのに役立つことを願っています。