変数は、名前と内容を含むボックスと呼ばれることがよくあります。単純なコマンド、たとえば「echo Hello $Var_Name」は、「Hello...定義された変数の値」を出力します。ボックスが空であるか作成されていない場合、Bash は何も出力しません。このため、bash スクリプトを作成する際には、変数が適切に設定されているかどうかを確認することが重要です。
変数は 2 つの部分に分類できます。
適切に作成または初期化された変数は、定義済み変数と呼ばれます。これらにはゼロ値または空の文字列が含まれる場合があります。
作成または初期化されていない変数は、未定義変数として知られています。
Bash スクリプトで変数が設定されているかどうかを確認するには、次のように使用できます。 -v var または -z ${var} 「if」条件コマンドを組み合わせた式としてオプションを指定します。
構文
以下は、変数が設定されているかどうかを確認するために使用できるブール式の構文です。
[[ -v Variable_Name ]] [[ -z Variable_Name ]]
ブール式は、変数が設定されている場合は「True」を返し、変数が設定されていない場合は「False」を返します。
Javaでリストを反復する
以下は、変数が設定されているかどうかを確認する例です。
-v オプションの使用
#!/bin/bash #Script to check whether a variable is set or not using -v option A=100 #A: variable is set. if [[ -v A ]]; then echo 'Variable having name 'A' is already set.' else echo 'Variable having name 'A' is not set.' fi #B: variable is not set if [[ -v B ]]; then echo 'Variable having name 'B' is already set.' else echo 'Variable having name 'B' is not set.' fi
出力
ここでは、変数「A」が定義され、値 100 が割り当てられているため、「変数の設定」とみなされます。変数「B」については、値を定義または割り当てていません。その結果、変数「B」は「変数の設定」とは見なされません。
-z オプションの使用
#!/bin/bash #Script to check whether a variable is set or not using -z option A=100 #A: variable is set. if [[ -z ${A} ]]; then echo 'Variable having name 'A' is not set.' else echo 'Variable having name 'A' is already set.' fi #B: variable is not set if [[ -z ${B} ]]; then echo 'Variable having name 'B' is not set.' else echo 'Variable having name 'B' is already set.' fi
出力
注記:設定されていない変数と null 値を持つ変数には違いがあります。
Null 値を持つ変数を設定変数にできることを示す次の例を確認してください。
例
VAR='' #VAR is set if [ -z ${VAR+x} ]; then echo ''VAR' is unset'; else echo ''VAR' is set, its content is '$VAR''; fi #Var is not set if [ -z ${Var+x} ]; then echo ''Var' is unset'; else echo ''Var' is set, its content is '$Var''; fi
出力
これらは、変数が設定されているかどうかを確認するために使用できる一般的に使用されるメソッドです。
JavaScriptのために寝る