【使用例紹介】1文字列指定:”(ダブルクォーテーション)【シェルスクリプト】
備忘録になります。”(ダブルクォーテーション)で囲うと、1文字列として扱われます。
使用例1:引数に空白を使う場合
$ cat wrk.txt
aaa bbb
aaa ccc
bbb ccc
$ grep "aaa bbb" wrk.txt
aaa bbb
ダブルクォーテーションを外すと空白が区切り文字と解釈され構文エラーになります。
$ grep aaa bbb wrk.txt
grep: bbb: そのようなファイルやディレクトリはありません
wrk.txt:aaa bbb
wrk.txt:aaa ccc
使用例2:構文に用いる変数が空文字の可能性がある場合
$ cat wrk.sh
VAR=
if [ -n "$VAR" ]; then
echo "変数に値あり。"
else
echo "変数が空です。"
fi
$ ./wrk.sh
変数が空です。
ダブルクォーテーションを外すと空文字の場合文字自体渡されていないと解釈され、期待しない動作となります。
$ cat wrk.sh
VAR=
if [ -n $VAR ]; then
echo "変数に値あり。"
else
echo "変数が空です。"
fi
$ ./wrk.sh
変数に値あり。
関連リンク