shell基础篇(4️⃣)

12 篇文章 0 订阅
5 篇文章 0 订阅

i++和++i的区别(了解)
对变量的值的影响
Let x=i++ 先赋值,再运算
Let y=j++ 先运算,再赋值
例子:

vim test2.sh
#!/bin/bash
#判断用户输入的是否是数字
read -p "请输入一个数字:" num

while :
do
        if [[ $num =~ ^[0-9]+$ ]];then
                break
        else
                read -p "不是数字,请重新输入:" num
        fi
done
echo "你输入的数字是: $num"

vim test3.sh

#!/bin/bash
read -p "Please input number: " num

while true
do
        if [[ "$num" =~ ^[0-9]+$ ]];then
                break
        else
                read -p "不是数字,请重新输入数值: " num
        fi
done

() 子shell中执行
(()) 数值比较,运算C语言
$() `` 命令替换
$(()) 整数运算
{}
${}
[] 条件测试
[[]] 条件测试,支持正则 =~
$[] 整数运算

执行脚本:
在这里插入图片描述
五、条件测试
1.文件测试
2.数值测试
3.字符串比较

格式1:test 条件测试
格式2:[条件表达式]
格式3:[[条件表达式]]

======文件测试【操作符 文件或目录】
test -d /home
echo $?

[-e dir|file] 该目录|文件是否存在
[-d dir] 是否有读权限
[-f file] 是否存在,而且是文件
[ -r file ] 是否有读权限
[ -x file ] 是否有执行权限
[ -w file ] 是否有写权限
[ -L file] 是否是链接

例子:
vim test_mysql_back.sh

#!/bin/bash
back_dir=/var/mysql_back
if ! test -d $back_dir;then
        mkdir -p $back_dir
fi

echo "开始备份..."

例子:
vim test_yum.sh

#!/bin/bash

if [ $UID -ne 0 ];then
        echo ”你没有权限!"
        exit
fi


yum -y install nginx

还有一个

#!/bin/bash
if [ $UID -ne 0 ];then
	echo “Permission denied”
	exit
fi

yum install -y  httpd

gt 大于
lt 小于
eq 等于
ne 不等于
ge 大于等于
le 小于等于
=====字符串比较
提示:使用双引号

========================================================

[root@bogon ~]# [ “$USER” == “super” ]; echo KaTeX parse error: Expected 'EOF', got '#' at position 19: … [root@bogon ~]#̲ [ "USER" = “super” ]; echo KaTeX parse error: Expected 'EOF', got '#' at position 19: … [root@bogon ~]#̲ [ -z "bbb" ];echo KaTeX parse error: Expected 'EOF', got '#' at position 19: … [root@bogon ~]#̲ [ -n "bbb" ];echo $?
1

========================================================
案例1:
[root@bogon shell]# vim user_add.sh

#################################################
#usersdd                                    	#
#v1.0 by yyy 20/8/2019                          #
#################################################
read -p "Please input number: " num
if [[ ! "$num" =~ ^[0-9]+$ ]];then
        echo "error number!"
        exit
fi
read -p "Please input prefix: " prefix
if [ -z "$prefix" ];then
        echo "error prefix"
        exit
fi

for i in { `seq $num` }
do
        user=$prefix$i
        useradd $user
        echo "123456" | passwd --stdin $user & >/dev/null
        if [ $? -eq 0 ];then
                echo "$user is created."
        fi
done

shell基础篇(5️⃣)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值