命令行参数
在运行脚本时,有时需要输入参数,输入的参数称为命令行参数。命令行参数会按照参数输入的顺序将输入参数依次赋值给位置参数变量。
$0 是脚本的路径名,
$1 是第一个参数
$2 是第二个参数
…
$9 是第九个参数
${10} 是第十个参数
在脚本中就按照上述方式引用输入的参数变量
$# 该变量存储的是实际输入给脚本的参数的个数
$(basename $0) 可以获得脚本的名字,而不是路径名
${!#} 获取输入参数中最后一个参数的值
$* 将所有输入的参数当作一个整体
$@ 将所有输入的每一个参数当作一个单独的个体
$* 和 $@ 两者都可已获取到所有的输入参数
$$ 脚本运行的当前进程ID号
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误
shift 命令
shift :将所有输入的命令行参数向左移动一个位置
参数: a b c d e
移动前:$1->a, $2->b, $3->c, $4->d, $5->e
shift 移动后: $1->b, $2->c, $3->d, $4->e 参数a被移除掉了并且无法恢复
shift n:将所有输入的命令行参数向左移动n个位置