二十五日半狂乱4日目(の分)の記事 前回引用したkilltreeスクリプトの中に以下のようなコードがあった. local _sig=${2:-TERM} この${2:-TERM}は、変数展開されたタイミングで、$2に値が設定されていない場合にTERMを出力する. すなわち、結果的に$2が空だった場合は変数_sigにTERMが代入される. なのでkilltreeは第二引数でシグナルを指定せずに実行したらデフォルトでkill -TERM [pid]が実行される. $ bash killtree.bash 4003 kill -TERM 4004 kill -TERM 4005 kill -TERM 4006 kill -TERM 4007 kill -TERM 4008 kill -TERM 4003 [2]+ Stopped bash mkpstree.bash 手元にあるUNIXシェルスク
![シェル変数のデフォルト値を設定する、未初期化時にエラーメッセージを出力してスクリプトを強制終了する - 百日半狂乱](https://cdn-ak-scissors.b.st-hatena.com/image/square/b63e042b495f56eb63514a2f995943619a90497e/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F41LTeJikRXL.jpg)