类型:
自定义变量
环境变量(Path)
特殊变量
自定义变量命名规范
变量名称规范:
1、命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
2、中间不能有空格,可以使用下划线(_)。
3、不能使用标点符号。
4、不能使用bash里的关键字(可用help命令查看保留关键字)。
1 声明变量
变量名称=变量值
2 调用变量的值
$变量名称
${变量名称} 变量名称或紧跟数字,字符的时候
输出时,由变量名,必须用双引号
name=pzy
echo "this is $name"
this is pzy
echo "this is ${name}"
this is pzy
echo "this is ${name}nb"
this is pzynb
3 SHELL变量的值默认全做为字符处理
a=10
b=20
c=a+b
echo $c
a +b
a=10
b=20
c=$a+$b
echo $c
10+20
数学运算:
方法1:$(())
a=10
b=20
c=$((a+b))
echo $c
30
方法2:关键字:let
a=10
b=20
let c=a+b
echo $c
30
方法3:关键字:declare
a=10
b=20
declare -i c=a+b
echo $c
30
数学运算符:
+
-
*
/ 整除
% 取余
生成随机数
echo $RANDOM
11400
echo $RANDOM
9702
echo $RANDOM
21328
生成10以内的随机数:
echo $((RANDOM%10))
4
echo $((RANDOM%10))
2
4 命令引用
`COMMAND` 或者$(COMMAND)
a=`ls -ldh /etc/`
echo $a
drwxr-xr-x. 77 root root 8.0K 3月 14 16:23 /etc/
b=$(ls -ldh /etc/)
echo $b
drwxr-xr-x. 77 root root 8.0K 3月 14 16:23 /etc/
提取ip
ifconfig eth0 |grep "netmask" | awk '{print $2}'
10.0.0.51
5 删除变量
unset 变量名称
环境变量
(1)查看环境变量
env | less
(2)定义环境变量:修改环境变量的值
#export 变量名称=变量值
vim /etc/profile
source /etc/profile
$?判断上个命令的执行状态(0–255)
0:代表成功
其余:代表失败