首页 > 代码库 > linux中shell编程(一)
linux中shell编程(一)
条件判断,控制结构:
单分支if语句
if 判断条件; then
statement1
statement2
...
fi
双分支的if语句:
if 判断条件; then
statement1
statement2
...
else
statement3
statement4
...
fi
多分支的if语句:
if 判断条件1; then
statement1
...
elif 判断条件2; then
statement2
...
elif 判断条件3; then
statement3
...
else
statement4
...
fi
测试方法:
- [ expression ]
- [[ expression ]]
- test expression
bash中常用的条件测试有三种:
整数测试:
- -eq: 测试两个整数是否相等;比如 $A -eq $B
- -ne: 测试两个整数是否不等;不等,为真;相等,为假;
- -gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;
- -lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;
- -ge: 大于或等于
- -le:小于或等于
例子:
INT1=63
INT2=77
[ $INT1 -eq $INI2 ]
[[ $INT1 -eq $INT2 ]]
test $INT1 -eq $INT2
文件测试:
- -e FILE:测试文件是否存在
- -f FILE: 测试文件是否为普通文件
- -d FILE: 测试指定路径是否为目录
- -r FILE: 测试当前用户对指定文件是否有读取权限;
- -w
- -x
例子:[ -e /etc/inittab ] [ -x /etc/rc.d/rc.sysinit ]
shell中如何进行算术运算:
A=3
B=6
1、let 算术运算表达式
let C=$A+$B
2、$[算术运算表达式]
C=$[$A+$B]
3、$((算术运算表达式))
C=$(($A+$B))
4、expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用
C=`expr $A + $B`
定义脚本退出状态码
exit: 退出脚本 exit # 如果脚本没有明确定义退出状态码,那么,最后执行的一条命令的退出码即为脚本的退出状态码;
测试脚本是否有语法错误: bash -n 脚本
bash -x 脚本:单步执行
bash变量的类型:
本地变量(局部变量)
环境变量
位置变量: $1, $2, ... shift
特殊变量:
- $?
- $#:参数的个数
- $*: 参数列表
- $@:参数列表
linux中shell编程(一)