变量
bash变量类型:
环境变量
局部(本地)变量
声明环境(全局)变量,赋值:declare -x name= VALUE
删除环境(全局)变量:unset name
位置变量
$1 ,$ , …. shift 轮替
特殊变量
$?,$#,$*,$@
shell中如何进行算数运算
bash中的算术运算:help let
+,-,*,/,%取模(取余),**(乘方)
例:A=3 B=6
1. let 算数运算表达式
let c=$A+$B
2 $ [算数运算表达式]
$[$A+$B]
3$((算数运算表达式))
$(($A+$B))
4expr 算数运算表达式,表达式中各操作数及运算符之间要有空格,而且必须有反引号
c=`expr $A + $B `4
5.随机数生成 $RANDOM (0-32767)
乘法符号有些场景中需要转义,如\*
赋值
增强型赋值:
+=,-=,*=,/=,%=
例如 let count +=3(自加3后赋值)
自增,自减:
let var+=1
let var++
lat var-=1
let var–
—————————————————————————————————————————–
脚本调试
测试脚本是否有语法错误
bash -n 脚本
bash -x 脚本: 调式执行
条件判断
bash中如何实现条件判断
条件测试类型:
整数测试
字符测试
文件测试
条件测试的表达式:
[ expression ]
[ [ expression ] ] 使用正则表达式用
test expression
整数测试
例 [ $A -eq $ B ]
-eq: 测试两个整数是否相等: 等于,为真|否则,为假
-ne: 测试两个整数是否不等: 不等,为真|否则,为假
-gt: 测试一个数是否大于另一个数:大于,为真|否则,为假
-lt: 测试一个数是否小于另一个数:小于,为真|否则,为假
-ge: 大于或等于
-le: 小于或等于
文件测试
例[ -e /etc/passwd ]
-e FILE: 测试文件是否存在
-f FILE: 测试文件是否为普通文件
-d FILE: 测试指定文件是否为路径
-r FILE: 测试当前用户对指定文件是否有读权限
-w FILE: 测试当前用户对指定文件是否有写权限
-x FILE: 测试当前用户对指定文件是否有执行权限
字符测试
例[ $A == $B ]
== 比较字符串,相同即为真,不同即为假
!= : 比较字符串,不同即为真,相同即为假
=~: 左侧字符串是否能被右侧的PATTERN(正则)所匹配
-n string: 测试指定字符串是否为空,空则真,不空则假
-s string: 测试指定字符串是否为空,不空则真,空则假
> :
< :
逻辑运算
与,或,非 ,异或(^)
1:真 0:假
与 或 非
1 & 0 =0 1 & 0 =1 ! 真 = 假
0 & 1 =0 0 & 1 =1 ! 假 = 真
0 & 0 =0 0 & 0 =0
1 & 1 =1 1 & 1 =1
命令间的逻辑关系
逻辑与:-a && 第一个条件为假时,第二个条件不再判断
第一个条件为真时,第二个条件必须得判断
逻辑或:-o || 第一个条件为真时,第二个条件不在判断
第一个条件为假时,第二个条件必须得判断
逻辑非: !
控制结构
单分支if语句 双分支的if语句 多分支if语句
if 判断条件;then if判断条件;then if 判断条件1;then
statment1 statment1 statment1
statment2 else elif 判断条件2;then
fi statment2 statment2
fi else
statment3
fi
for循环
进入条件,退出条件
for
while
until
for循环语法:
for 变量 in 列表;do
循环体
done
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95623