bashのパラメータ展開で、変数が未定義のときにエラーにできる
#!/bin/bash a=${1:?} echo "a=$a"
$ ./test.sh ./test.sh: 行 3: 1: パラメータが null または設定されていません $ ./test.sh unko a=unko
別に引数に限った機能ではなく、普通の変数でも同じ。
また、 ? の後ろに文字列を書いておくと、エラーメッセージも設定できる
#!/bin/bash a=${c:?変数cが無いです}
$ ./test.sh ./test.sh: 行 3: 1: 変数cが無いです
${parameter:?word}
https://ja.manpages.org/bash
空文字列または設定されていない場合にエラーを表示します。
素敵な機能