shell多整数比较 字符串比较 正则比较 if语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34646546/article/details/88674974

多整数比较

[ 数值1 比较符 数值2 -a 数值1 比较富 数值2 ]  -a and 两端表达式必须同时成立 则为真
[ 数值1 比较符 数值2 -o 数值1 比较富 数值2 ]  -o or  两端表达式一个成立则为真 

字符串的比较

[ $USER = root ]
echo $?
0

填写以下字符串测试操作符的意义

-n 如果变量的内容为非空 则返回true 如果为空 则返回false
-z:如果变量的内容为空 则返回 true 如果不为空 则返回false

正则比较

AAA=123
[[ \$AAA =~ \^[0-9]+$ ]]
echo $?
0

案例2: 批量创建10个用户 密码统一123
前缀 oldboy1 oldboy2 oldboy3… oldboy10
前缀需要判断为空则退出
用户的个数 判断是否为数字 使用正则
for i in`seq 10`;do echo oldboy$i;done

[root@alice scripts]# cat useradd.sh 
#!/bin/bash
# Author: dang kai
# Blog: www.dkaiyun.com
# Time: 2019-03-19 10:09:37
# Name: yseorzhenshu.sh
# Version: 4.2.46
# Description: This is a Script.

read -p "请输入用户名前缀: " qian

[ -z $qian ] && echo "前缀不能为空! " && exit

read -p "请输入需要创建的用户数量: " shu

[[ ! $shu =~ ^[0-9]+$ ]] && echo "请输入一个整数" && exit

echo "创建数量: $shu "

for i in  `seq $shu`
do 
    useradd $qian$i
done
tail /etc/passwd

随机产生1-100的随机数
让用户输入一个数字
然后比较大小 如果大了 提示大了 小则提示小 相等则退出 总共猜了多少次

[root@alice scripts]# cat caicai.sh 
#!/bin/bash
# Author: dang kai
# Blog: www.dkaiyun.com
# Time: 2019-03-19 11:28:33
# Name: caicai.sh
# Version: 4.2.46
# Description: This is a Script.

num=`echo $((RANDOM%100+1))`

while true
do
    read -p "请输入一个数字: " an
    expr $an + 1  &>/dev/null
    if [ $? -eq 0 ]
    then
    let i++
        [ $an -gt $num ] && echo "您输入的数大了"  && continue
        [ $an -lt $num ] && echo "您输入的数小了"  && continue
        [ $an -eq $num ] && echo "您猜对了"   && break
    fi
done
echo "您一共猜了 $i 次"

猜你喜欢

转载自blog.csdn.net/qq_34646546/article/details/88674974