1、文件相关
-e 判断文件或者文件夹是否存在
-d 判断目录是否存在
-f 判断文件是否存在
-r 判断是否有读权限
-w 判断是否有写权限
-x 判断是否有执行权限
1.1命令行使用
[root@localhost ~]# [ ! -e test/ ] && mkdir test/ #如果test/文件夹并存在,就创建。
1.2脚本中使用,一般配合条件控制语句使用。
[root@localhost script]# cat m_t.sh
#!/bin/bash
#移动脚本文件至指定文件夹
ls *.sh > sh.txt
if [ ! -d script/ ];then
mkdir script/
fi
for i in `cat sh.txt` do
echo $i
mv $i script/
done
2、数字相关
-gt 大于
-ge 大于等于
-eq 等于
-lt 小于
-le 小于等于
-ne 不等于
2.1、小脚本,内存使用率超过80%则提醒
[root@localhost script]# cat mem.sh
#!/bin/bash
MEM_USE=`free -m|grep "^M"|awk '{print $3/$2 *100}'|cut -d . -f1`
if [ $MEM_USE -ge 80 ];then
echo -e "\e[1;5m \e[1;31m the memory used is more then 80%\e[0m \e[0m"
else
echo -e "\e[1;5m \e[1;32m the memory used is correct...\e[0m \e[0m"
fi
3、字符串相关
-z 判断字符串是否为空,为空返回 true
-n 判断字符串是否为空,非空返回 true
== 判断两个字符串是否相等 相等返回 true
!= 判断两个字符串是否相等 不相等返回true
3.1、命令行使用
[root@localhost ~]# name=
[root@localhost ~]# [ -z "$name" ];echo $?
0
[root@localhost ~]# [ -n "$name" ];echo $?
1
4、逻辑相关
-a 几个条件都成立,才为真
-o 条件只要一个为真,即为真
! 非
4.1、命令行使用
[root@localhost ~]# [ 2 -gt 1 -a -z "$name" ] && echo ok
ok
5、正则相关
格式:
[[ $name =~ 正则表达式]]
5.1、命令行使用
[root@localhost ~]# num=123
[root@localhost ~]# [[ $num =~ ^[0-9]+ ]] && echo ok
ok
添加用户脚本
#!/bin/bash
read -p "请输入用户前缀,密码,数量:" pre pass num
if [[ ! $num =~ ^[0-9]+ ]];then
ehco "请输入数字"
fi
cat <<EOF
你输入的用户名前缀为:$pre
你设立的密码为:$pass
你设定用户个数为:$num
EOF
while true
do
read -p "你确定要创建?" ch
case $ch in
y|yes)
for i in `seq $num`;do
id $pre$i &>/dev/null
if [ $? -ne 0 ];then
useradd $pre$i
echo "用户 $pre$i 创建成功..."
echo $pass|passwd --stdin $pre$i &>/dev/null
else
continue
echo "用户 $pre$i 已经存在..."
fi
done
break
;;
n|no)
exit 1
;;
*)
echo "错误输入,请重新输入..."
esac
done

shell 条件测试的更多相关文章

  1. shell条件测试test

    shell条件测试可以通过以下两种方式: test   参数    测试内容 [ 参数  测试内容 ] 一.测试文件类型: test  -e   文件名          (测试文件是否存在) [ - ...

  2. shell条件测试语句实例-测试apache是否开启

    终于理解了shell条件测试语句"!="和"-n"的用法区别,于是有了如下的shell脚本,做为练习. 第一种方法:测试apache是否开启?字符串测试 #!/ ...

  3. 【第四章】Shell 条件测试表达式

    shell中条件测试的三种格式: 格式1: test 条件表达式格式2: [ 条件表达式 ]格式3: [[ 条件表达式 ]] 使用test: [root@host- ~]# test -f file ...

  4. 四 Shell条件测试

    条件测试操作 在bash的各种流程控制结构中通常要进行各种测试,然后根据测试结果执行不同的操作,有时也会通过与if等条件语句相结合,让我们可以方便的完成判断. 语法格式 test 选项 文件名或目录名 ...

  5. bash Shell条件测试

    3种测试命令: test EXPRESSION [ EXPRESSION ] [[ EXPRESSION ]]  注意:EXPRESSION前后必须有空白字符 bash的测试类型 数值测试: -eq: ...

  6. shell条件测试和流程控制

    一.条件测试操作 1.test 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数值 格式:test 表达式 2.常见的测试类型 ①测试文件状态 格式:[ 操作符 文件 ...

  7. shell条件测试结构

    条件测试结构 if/then结构用来判断命令列表的退出状态码是否为0(因为在UNIX惯例, 0表示"成功"), 如果成功的话, 那么就执行接下来的一个或多个命令. 有一个专有命令[ ...

  8. shell条件测试

    文件状态测试-b filename : 当filename 存在并且是块文件时返回真(返回0)-c filename : 当filename 存在并且是字符文件时返回真-d pathname : 当p ...

  9. 《shell条件测试语句,字符串测试apache是否开启》

    还得我想了10分钟才明白”!=“和"-n"的用法区别,做个笔记捋一捋 第一种方法:测试apache是否开启?字符串测试 #!/bin/bash web=`/usr/bin/pgre ...

  10. Linux Shell 条件测试

    1. 文件测试 -d 目录 -s 文件非空 -f 是正规文件 -w 有写权限 -r 有读权限 -x 有执行权限 -L 符号连接 -u 文件有suid位设置

随机推荐

  1. addEventListener() 方法,事件监听(去哪儿网用到过)

    addEventListener() 方法,事件监听 你可以使用 removeEventListener() 方法来移除事件的监听. 语法 element.addEventListener(event ...

  2. 在小程序内点击按钮分享H5网页给好友或者朋友圈

    在小程序内点击按钮分享H5网页给好友或者朋友圈 首先需要建立h5容器文件夹 页面.wxml <navigator url="/pages/report-await/fouryearh5 ...

  3. C# 线程参数

    . class ThreadSample { private readonly int _iterations; public ThreadSample(int iterations) { _iter ...

  4. html 中文占位符

    => 普通的英文半角空格   =>   =>   => no-break space (普通的英文半角空格但不换行)   => 中文全角空格 (一个中文宽度)   =&g ...

  5. SQL SQL Index SEEK VS Lookup

    SEEK - find everything from index Lookup - find key from index, then visit table to find other row d ...

  6. 用VISA工具驱动继电器外设

    1.驱动方式:TCP 2.开发过程 第一步:外设识别 TCP方式将继电器插上网线后,并不能像串口一样自动识别到这个外设,需要手动连接.打开NI MAX后,右击设备与接口,然后点击新建,双击VISA T ...

  7. centos7靶机获取不到ip

    尝试了好多方法都获取不到靶机ip: 1.首先检查网络链接是否正常 2.重启网卡  /etc/init.d/network restart 3.修改网卡ONBOOT=yes vi /etc/syscon ...

  8. Spring Boot + Docker + K8S 简单示例

    前言 最近看了看k8s,感觉用这个管理docker确实比自己写一坨脚本进步太多了,简直不是一个次原的东西. 看着k8s的官方文档随手写了个小Demo,一个基于k8s的spring boot服务. 代码 ...

  9. [quack] A browser extension to Clean website pages ADs

    1. youdao.com result page Before: After: Later we will add more and more. Or you can submit issues t ...

  10. selenium自动化测试入门 定位frame和iframe中的元素对象

    < frame> <iframe> 标签,浏览器会在标签中打开一个特定的页面窗口(框架),它在本窗口中嵌套进入一个网页,当用selenium定位页面元素的时候会遇到定位不到fr ...