先看下面的代码:
#!/bin/bash #看似一样的输出 echo "using the \$* method: $*" echo "using the \$@ method: $@" #循环,可看出两者的不同 count=1 for param in "$*" do echo "\$* parameter #$count = $param" count=$[ $count + 1 ] done count=1 for param in "$@" do echo "\$* parameter #$count = $param" count=$[ $count + 1 ] done echo $0 echo $1 echo $2 echo $3 echo $4 运行结果: $ sh input.sh w rtg yty iui uiuio using the $* method: w rtg yty iui uiuio using the $@ method: w rtg yty iui uiuio $* parameter #1 = w rtg yty iui uiuio $* parameter #1 = w $* parameter #2 = rtg $* parameter #3 = yty $* parameter #4 = iui $* parameter #5 = uiuio input.sh w rtg yty iui
如下知识点:
$*与$@都能获取全部的输入参数,但是$*是一个整体单一值,$@是一个数组
$0获取文件名
$1获取第一个参数,$n 以此类推
2164

被折叠的 条评论
为什么被折叠?



