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