shell 条件测试

站长

发表文章数:3062

Elastcisearch.Nest 7.x 系列`伪`官方翻译:通过 NEST 来快捷试用 Elasticsearch

1、文件相关
-e 判断文件或者文件夹是否存在
-d 判断目录是否存在
-f 判断文件是否存在
-r 判断是否有读权限
-w 判断是否有写权限
-x 判断是否有执行权限
1.1命令行使用
[[email protected] ~]# [ ! -e test/ ] && mkdir test/ #如果test/文件夹并存在,就创建。
1.2脚本中使用,一般配合条件控制语句使用。
[[email protected] 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%则提醒
[[email protected] 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、命令行使用
[[email protected] ~]# name=
[[email protected] ~]# [ -z "$name" ];echo $?
0
[[email protected] ~]# [ -n "$name" ];echo $?
1
4、逻辑相关
-a 几个条件都成立,才为真
-o 条件只要一个为真,即为真
! 非 
4.1、命令行使用
[[email protected] ~]# [ 2 -gt 1 -a -z "$name" ] && echo ok
ok
5、正则相关
格式:
    [[ $name =~ 正则表达式]]
5.1、命令行使用
[[email protected] ~]# num=123
[[email protected] ~]# [[ $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

java8 stream自定义分组求和并排序

未经允许不得转载:www.xssyun.com作者:站长, 转载或复制请以 超链接形式 并注明出处 xss云之家-资源网,新人技术交流平台,一个湖北娃的个人博客
原文地址:《shell 条件测试》 发布于2020-01-24

分享到:
赞(0) 生成海报

长按图片转发给朋友

投稿赚钱
2020年在家赚取零花钱
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册