您的位置:首页 > 运维架构 > Shell

bash及其特性(二)

2015-05-18 14:12 288 查看
变量类型:
环境变量、本地变量、位置变量、特殊变量
环境变量:
export VARNAME=VALUE
位置变量:
$1、$2,....
shift取消变量
特殊变量:
$?上一个命令的执行状态返回值
$#参数的个数
$*参数列表
程序执行,可能的返回值:
程序状态返回码(0-255)其中0是正确执行
条件测试类型:
整数测试、字符测试、文件测试
整数比较:
-eq:测试两个整数是否相等:比如$a -eq $b
-ne:测试两个整数是否不等
-gt:测试一个数是否大于另一个数
-lt:测试一个数是否小于另一个数
-ge:大于或等于
-le:小于或等于
命令间的逻辑关系:
&&、||
条件测试表达式:
[ expression ]、` expression `
条件判断:控制结构
if 判断条件;then
statement
.....
fi
shell中如何进行算术运算:
1、let c=$a+$b
2、$[算术运算表达式]
c=$[$a+$b]
3、$((算术运算表达式))
c=$(($a+$b))
4、expr算术运算表达式,表达式中各操作数及运算符之间要有空格,且命令引用
c=`expr $a + $b`
文件测试:
-e FILE:测试文件是否存在
-f FILE:测试文件是否为普通文件
-d FILE:测试指定路径是否为目录
-r FILE:测试当前用户对指定文件是否有读取权限
测试脚本是否有语法错误:
bash -n filename.sh
字符串的测试:
字符测试:
== 测试是否相等
-n string 测试指定字符串是否为空
-s string 测试字符串是否不空
例子:用户名是否跟基本用户组用户名一致?
if [ `id -n -u $1` == `id -n -g $1` ];then
echo "yiyang"
else
echo"no"
fi
组合测试条件
-a:与关系
-o:或关系
!:非关系
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  程序 表达式 export