shell 中的$0 $1 $* $@ $# $$ $? $() $(())

shell 中的$0 $1 $* $@ $# $$ $? $() $(())

$0: 脚本本身文件名称
$1: 命令行第一个参数,$2为第二个,以此类推
$*: 所有参数列表
$@: 所有参数列表
$#: 参数个数
$$: 脚本运行时的PID
$?: 脚本退出码

∗与@的区别
当命令行为test.sh 1 2 3
$* 表示: "1 2 3"
$@ 表示: "1" "2" "3"
二者没有被引号括起来时是一样的都为"1 2 3",只有当被引号括起来后才表现出差异

$()  等同于: ··(反引号):运行一段命令
$(()) 进行数字运算 
# a=3;b=2;c=5
# echo $((a+b*c))
转载自: https://www.cnblogs.com/kaishirenshi/p/10254085.html
原文地址:https://www.cnblogs.com/zjp-blog/p/12808653.html