首页 > 代码库 > linux中特殊的参数变量

linux中特殊的参数变量

  1. 参数计数

特殊变量$#可以存储执行脚本时包含的命令行参数个数!

#!/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

$*:看做一个单词

$@:分别对待每个参数

linux中特殊的参数变量