1.特殊变量
变量 | 含义 |
---|---|
$$ | 打印当前脚本的进程ID |
$n | 传递个脚本的参数,n代表数字,$1 表示给第一个参数传值,依次类推 |
$# | 统计传递给脚本一共有多少个参数 |
$* | 传递给脚本的所有参数 |
$@ | 传递给脚本的所有参数 |
$? | 上个命令的退出状态,或者函数返回值 |
实例:
#!/usr/bin/env bash
echo "Process Id: $$"
echo "File Name: $0"
echo "First Parameter : $1" # 第一个参数
echo "First Parameter : $2" # 第二个参数
echo "Quoted Values: $@" # 所有的参数
echo "Quoted Values: $*"
echo "Total Number of Parameters : $#"
# 然后运行脚本:sh teshu.sh zhagnsan lisi
# 打印结果为:
# Process Id: 18652
# File Name: teshu.sh
# First Parameter : zhagnsan
# First Parameter : lisi
# Quoted Values: zhagnsan lisi
# Quoted Values: zhagnsan lisi
# Total Number of Parameters : 2
# 在这个脚本执行完之后:
echo $? # 打印结果为0
# 0标示执行成功,1表示执行失败
2.$*和S@区别
echo "\$*="$*
echo '"$*"='$*
echo 'print each param from $*'
for var in "$*"
do
echo "$var"
done
echo 'print each param from $@'
for var in "$@"
do
echo "$var"
done
打印结果: