位置参数变量
当我们执⾏⼀个Shell脚本时,如果希望获取到命令⾏的参数信息,就可以使⽤到位置参数变量。
⽐如:./myshell.sh 100 200,这个就是⼀个执⾏Shell的命令⾏,可以在myshell脚本中获取到参数信
息。
基本语法:
$n (功能描述:n为数字,$0代表命令本身,$1-
9
代表第⼀到第九个参数,⼗以上的参数需要⽤⼤括号包含,⽐如:
9代表第⼀到第九个参数,⼗以上的参数需要⽤⼤括 号包含,⽐如:
9代表第⼀到第九个参数,⼗以上的参数需要⽤⼤括号包含,⽐如:{10})
∗
(
功能描述:这个变量代表命令⾏中所有的参数,
* (功能描述:这个变量代表命令⾏中所有的参数,
∗(功能描述:这个变量代表命令⾏中所有的参数,*把所有的参数看成⼀个整体)
@
(
功能描述:这个变量也代表命令⾏中所有的参数,不过
@ (功能描述:这个变量也代表命令⾏中所有的参数,不过
@(功能描述:这个变量也代表命令⾏中所有的参数,不过@把每个参数区分对待)
$# (功能描述:这个变量代表命令⾏中所有参数的个数)
案例:在命令⾏执⾏./myshell.sh 100 200,希望在Shell脚本中获取到100和200。
具体步骤:
1.执⾏touch myshell.sh;2.执⾏vim myshell.sh,编辑内容如下:
3.执⾏chmod u+x myshell.sh;4.执⾏./myshell.sh 100 200。运⾏结果如下:
运算符
基本语法:
⼀、
(
(
运算式
)
)
,⽐如:
((运算式)),⽐如:
((运算式)),⽐如:((2+3))的意思是2+3;$(((2+3)*4))的意思是(2+3)*4。
案例:计算(2+3)*4的值。
具体步骤:
1.执⾏touch oper.sh;2.执⾏vim oper.sh,编辑内容如下:其中,RES代表定义的变量。
3.执⾏chmod u+x oper1.sh;4.执⾏./oper1.sh。运⾏结果如下:可以看到,成功输出了(2+3)*4的值
三、expr m + n。
注意:
1.expr后⾯的运算符之间要有空格。⽐如:expr 2 + 3的意思是2+3;
2.如果希望将expr的结果赋给某个变量,使⽤``。⽐如:TEMP=expr 2 + 3
表示定义了TEMP,并且把
expr 2 + 3的结果赋值给TEMP,所以TEMP的值应该是5。
3.expr后⾯的*代表乘,/代表除,%代表取余。