条件测试表达式[ expression ]、[[expression ]]、括号内前后都有空格。
整数判断:
-eq:判断两个整数是否相等
-ne:判断两个数是否不等,不等为真、否则为假
-gt:判断一个数是否大于另一个整数,大于为真,否则为假
-lt:判断一个整数是否小于另一个整数,小于为真,否则为假
-ge:大于或等于
-le:小于或等于
命令之间的逻辑关系:
逻辑与:&&前面的为假后面的就不在执行
逻辑或:|| 前面的为真后面的就不在执行
变量名称:
1、只能使用字母、数字和下划线,不能以数字开头。
2、不能与已有的环境变量重名。
3、最好见名知意。
几个例子:
如果用户不存在就添加用户:
! id user && useradd user 或者id user || useradd user
如果用户存在,显示用户,如果不存在就创建
id user&& echo “user exists.” || useradd user
如果用户不存在,就创建用户,否则就显示用户已存在
! id user && useradd user || echo “user exists.”
判断当前系统上是否有用户的默认shell是bash
#! /bin/bash
grep “\/etc/passwd &> /dev/null
RETVAL=$?
if [ $ RETVAL –eq 0 ] then
USERS=` grep “| wc -l`
echo “the shell of $USERS users is hash.”
else
echo “no such this user.”
fi
shell中如何进行算数运算
1、let 算数表达式
如:a=1 b=2 let c=$a+$b
2、$[算数表达式]
c=$[$a+$b]
3、$((算数运算符))
c=$(($a+$b))
4、expr算数表达式,表达式中各个操作数及运算符中间要有表达式,而且要使用命令引用
c=`expr $a + $b`