Shell特殊位置变量($0,$1$2,$*,$#,$$,$?,[email protected],${})

$0    文件名及路径

$1,$2    参数1,参数2

$#    传递给脚本或函数的参数个数

$$    当前Shell进程ID

$?    判断上个命令的执行成功与否,0为成功。

[email protected]    传递脚本或函数的所有参数

$*    传递脚本或函数的所有参数

${}

注:[email protected]和$*都是传递脚本或函数的所有参数。被双引号" "包含时,两者有区别如下

[[email protected] shell]# cat 007.sh

#!/bin/bash

for var in “[email protected]”

do

echo "$var"

done

[[email protected] shell]# sh 007.sh feng cx xiao

feng

cx

xiao

[[email protected] shell]# cat 007.sh

#!/bin/bash

for var in "$*"

do

echo "$var"

done

[[email protected] shell]# sh 007.sh feng cx xiao

feng cx xiao

$var和${var}区别

如:当你要显示变量值加随意的字符时

echo $var_AA$var会将后面的_AA也当做变量的一部分

echo ${var}_AA${var}不会将后面的_AA当作变量的一部分

时间: 2024-08-24 03:15:41