位置参数的使用

$0, $1, $2,等等...
位置参数,从命令行传递给脚本,或者是传递给函数.或者赋职给一个变量.

$#
命令行或者是位置参数的个数.

$*
所有的位置参数,被作为一个单词.
注意:"$*"必须被""引用.

$@
与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整地传递,
并没有被解释和扩展.这也意味着,每个参数列表中的每个参数都被当成一个独立的
单词.
注意:"$@"必须被引用.

2. 编写一个脚本,使用位置参数变量:
处理命令行输入的参数:
如果输入的参数个数等于1,则打印输入的参数,并将脚本的返回值设置为3
如果输入的参数不等于1,则打印所有输入的参数值。

#!/bin/bash
if [ $# = "1" ]
then
echo "$1"
exit 3
else
for i in "$@"
do
echo $i
done
fi
这里也顺便写写for循环的一个特性:没有[list],循环将操作'$@'
也即是上面的脚本可以改为
#!/bin/bash
if [ $# = "1" ]
then
echo "$1"
exit 3
else
for i
do
echo $i
done
fi
结果是一样的

猜你喜欢

转载自ahaoge.iteye.com/blog/1478185