Bash, no-arguments warning, and case decisions – Stack Overflow
このページの
: ${1?"Usage: $0 ARGUMENT"}
がよく解らなかった。
先頭のコロンって何も起こらないコマンドだったはずだけど。
変数中の ? も今まで見たことがなかった。
何もしない組み込みコマンド ":" (コロン)の使い道 – Qiita
凄く詳しい解説をありがとう。
: echo 1 # 無視される : | echo 1 # 1 が出力される : touch one.txt > tow.txt # 空の tow.txt だけが造られる : ${var=3} echo $var # 3 が出力される
なるほど、先頭コロンが何もしないのは最初の引数だけなんだ。
でも :=, :? の場合は副作用が起こるということらしい
それと変数中の ? の正体は :? のようだ、イコールも同様。
:- と同様にコロンは実は無くてもいいということね。
つまり最初のは第一引数が無い場合は ? 以下をエラー出力して終了という意味。
こんな短いコードで実現、って Bash 解りづれぇYO!