私は bash が初めてで、それを学んでいます。 と の使用の実際の違いについて疑問が$@
ありS*
ます。
私はここで赤いBash Special Parameters
どちらも位置パラメーターに展開されることは理解していますが、違いは二重引用符内で発生します。ちなみに"$@" = "$1" "$2"..."$n"
違うかもしれません"S*" = "$1$2...$n".
簡単なスクリプトでそれを理解しようとします:
if [ $# -gt 0 ]; then
echo "Your command line contains $# arguments"
else
echo "Your command line contains no arguments"
exit fi
echo "Params are: "
echo $@
echo $*
echo "$@"
echo "$*"
このようにターミナルでスクリプトを実行すると~./my_script par1 par2 par3
結果は常に同じです。
Params are:
par1 par2 par3
par1 par2 par3
par1 par2 par3
par1 par2 par3
特殊変数の実際の使用法と、私の例が正しいかどうかを理解していない可能性があります。この点についても、良い例で考えてみたいと思います。