我是新手学习bash,对于使用
在这里我阅读了Bash特殊参数。
我明白两个参数都扩展到位置参数上,但在双引号内使用时会出现区别。顺便说一下,
我试图用一个简单的脚本来理解它:
也许我不太理解特殊变量的实际用途,以及我的例子是否正确。我希望通过一个好的例子来搞清楚这一点。
$@
和S*
之间的实际区别有疑问。在这里我阅读了Bash特殊参数。
我明白两个参数都扩展到位置参数上,但在双引号内使用时会出现区别。顺便说一下,
"$@" = "$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
也许我不太理解特殊变量的实际用途,以及我的例子是否正确。我希望通过一个好的例子来搞清楚这一点。