B! 39 0 0 0 シェルスクリプトを書いてる時に$@を使って ハマったのでそれについて。 $@と$* -fや-dの罠 まとめ $@と$* $@はシェルスクリプト 1 ではスクリプトや関数の中で全ての引数を表します。 $ f(){ echo $@;} $ f a b c a b c な感じ。 ここで、次の様なスクリプトを考えてみます。 atmark.sh 1 2 3 4 5 6 #!/usr/bin/env bash if [ "$@" != "" ];then echo "$@" else echo empty fi これを実行してみると $ ./atmark.sh a a $ ./atmark.sh ./atmark.sh: line 2: [: unary operator expected empty! $ ./atmark.sh a b ./atmark.sh: line 2