$n,n是数字,$0,代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号,如${10}, ${11}
$*,命令行中的所有参数,$*把所有的参数看作一个整体
$@,命令行中的所有参数,$@把每个参数区分对待
$#,代表命令行中所有参数的个数
$*:
1 #!/bin/bash 2 fori in"$*" 3 #$*是参数整体,所以只会循环一次 4 do 5 echo"The parameter is:$i" 6 done 7 |
yesimingdeMac-mini:testShell yesiming$ ./test2.sh 1 2 3 The parameter is: 1 2 3
|
$@:
1 #!/bin/bash 2 fori in"$@" 3 #$*是参数整体,所以只会循环一次 4 do 5 echo"The parameter is:$i" 6 done 7 |
yesimingdeMac-mini:testShell yesiming$ ./test2.sh 1 2 3 The parameter is: 1 The parameter is: 2 The parameter is: 3 |
$?:判断上一条命令是否正确执行了
127:命令不存在
2:目录或文件不存在
$$:查看当前pid
$!:查看后台运行的最后一个进程的pid
接收键盘输入
read [选项][变量名]
选项:
-p “提示信息”: 在等待read输入时,输出提示信息
-t 秒数 :read命令会一直等待用户输入,使用-t指定等待时间
-n 字符数 :read命令只接受指定的字符数,就会执行
-s :隐藏输入的数据,适用于机密信息的输入
1 #!/bin/bash 2 read-t30-p"请在三秒内输入姓名:" name 3 echo"Name is$name" 4 5 read-s-t30-p"输入年龄:" age 6 echo"\n" 7 echo"Age is$age" 8 9 read-n1-p"输入性别[M/F],只能输入一个字符哦" male 10 echo"\n" 11 echo"Male is$male" |