揮発性のメモ2

最近知った知識を さも昔から知ってた風にメモ書きしていく

bashで、引数が無いときにエラーにする

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

素敵な機能