参数计数
特殊变量$#可以存储执行脚本时包含的命令行参数个数!
#!/bin/bash
if [ $# -ne 2 ]
then
echo Usage:input a b
else
total=$[ $1 + $2 ]
echo The total is $total
fi
[root@localhost ~]# ./test33.sh 3 4
The total is 7
****************************************************
当要获取$#参数的最后面那个参数时,可以用${!#}命令
#!/bin/bash
params=$#
echo The toal parameters is $params
echo The last parameters is ${!#}
[root@localhost ~]# ./test34.sh 3
The toal parameters is 1
The last parameters is 3
****************************************************
获取所有数据
$* 将命令行中提供的所有参数作为一个单词处理,这个单词中包含出现在命令行中的每个参数值
$@ 将命令行中提东的所有参数作为同一个字符串中的多个单词处理
#!/bin/bash
#testing $* and $@
echo "Using the \$* method: $*"
echo "Using the \$@ method: $@"
count=1
for parm in "$*"
do
echo "\$* Parameters #$count = $parm"
count=$[ $count + 1 ]
done
count=1
for parm in "$@"
do
echo "\$@ Parameters #$count = $parm"
count=$[ $count + 1 ]
done
[root@localhost ~]# ./test35.sh jack tom bot luck haha
Using the $* method: jack tom bot luck haha
Using the $@ method: jack tom bot luck haha
$* Parameters #1 = jack tom bot luck haha
$@ Parameters #1 = jack
$@ Parameters #2 = tom
$@ Parameters #3 = bot
$@ Parameters #4 = luck
$@ Parameters #5 = haha
$*:看做一个单词
$@:分别对待每个参数
原文地址:http://liangey.blog.51cto.com/9097868/1574153