01 Shell脚本--变量
Shell学习大纲(如图)
Shell命令行解释器 介于Linux内核和外层应用程序之间
例如:echo $SHELL ——> /bin/bash
Shell中的变量
系统变量
echo $(HOME,PWD,SHELL,USER)
自定义变量
规则
①变量名称可以由字母,数字,下划线组成不能以数字开头。
②等号两边不能有空格。
③在bash中,变量默认类型为字符串类型,无法直接进行数字运算。
④变量的值如果有空格,需要使用双引号括起来。
⑤可把变量升为全局变量,供其他shell程序使用,export 变量名。
使用
变量=值 A=1 echo $A
撤销变量:unset $A
声明静态变量:readonly 变量,注意:不能unset
例如:
C=1+1 echo $C ——> 1+1
D="bangzhang love mm" echo $D
export D
./test.sh 就能显示出$D的内容
特殊变量
$n (n为数字,$0代表该脚本名称,$1~$9代表第一到第九个参数,十以上的参数需要使用大括号包含,如:${10})
例如:echo "$0 $1 $2 $3" 写出脚本,并执行,后面逐加参数;bash test.sh hello world
$#(获取所有输入参数个数,常用于循环)echo $#,写好的脚本,追加几个参数,控制台就会输出几个参数
例如:bash test.sh $#——>0
bash test.sh hello $#——>1
... $#——>n-1
$*、$@
$*:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体
$@:这个参数也代表命令行中所有参数,但$@把每个参数区分对待
$? (最后一次执行的命令的返回状态,若此变量值为0,证明上一个命令正确执行;若此变量非0,则上个命令不正确)
例如:./test.sh echo $? ——>0 正确