0%

位置参数变量

位置参数变量

在写shell脚本的时候,难免会进行命令行传参,下面来介绍一下位置参数变量

  • $n n为数字,$0代表脚本名称,即当前程序的名称 $1-$9代表第一到第九个参数,十以上的参数需要使用大括号,如${10}
  • $* 表示命令行中的所有参数,把所有参数看成一个整体
  • $@ 也表示命令行中的所有参数,但是把每个参数区分对待
  • ${@:起点} 由起点开始,取得后面所有的位置参数
  • ${@:起点:个数} 由起点开始,取得指定个数的位置参数
  • $# 表示命令行中所有参数的个数
  • $? 命令或程序执行完后的状态,一般返回0表示执行成功

例:

1
2
3
4
5
6
7
8
9
10
11
12
#在hello.sh中
echo "参数个数为$#"
echo "第一个参数是$1"
echo "第二个位置开始数据${@:2}"
echo "第一个位置开始两个数据${@:1:2}"
------------------------------
#执行hello.sh
sh hello.sh 1 2 3
参数个数为3
第一个参数是1
第二个位置开始数据2 3
第一个位置开始两个数据1 2

欢迎关注我的其它发布渠道