mysql 触发器 if6_20.5 shell脚本中的逻辑判断 20.6 文件目录属性判断 20.7 if特殊用法 20.8/...

20.5 shell脚本中的逻辑判断

当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替

使用条件语句时,常使用变量    if [ $a -gt 1 ]; then ... ; fi

引用某个命令的结果时,用变量替代   n=wc -l 1.txt

写和用户交互的脚本时,变量也是必不可少的  read -p "Input a number: " n; echo $n   如果没写这个n,可以直接使用$REPLY

内置变量 $0, $1, $2…    $0表示脚本本身,$1 第一个参数,$2 第二个 ....       $#表示参数个数

数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]

13d8a34614facf3f50478e3040e9cb41.png

格式1:if 条件 ; then 语句; fi

格式2:if 条件; then 语句; else 语句; fi

格式3:if …; then … ;elif …; then …; else …; fi

逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(=); -le(<=);-eq(==); -ne(!=) 注意到处都是空格

可以使用 && || 结合多个条件

if [ $a -gt 5 ] && [ $a -lt 10 ]; then

if [ $b -gt 5 ] || [ $b -lt 3 ]; then

20.6 文件目录属性判断

f295437398c43c8ea243f9477b7af6a3.png

[ -f file ]判断是否是普通文件,且存在

[ -d file ] 判断是否是目录,且存在

[ -e file ] 判断文件或目录是否存在

[ -r file ] 判断文件是否可读

[ -w file ] 判断文件是否可写

[ -x file ] 判断文件是否可执行

20.7 if特殊用法

f47622587af43a7aec15155319616619.png

if [ -z "$a" ]  这个表示当变量a的值为空时会怎么样

if [ -n "$a" ] 表示当变量a的值不为空

if grep -q '123' 1.txt; then  表示如果1.txt中含有'123'的行时会怎么样

if [ ! -e file ]; then 表示文件不存在时会怎么样

if (($a<1)); then …等同于 if [ $a -lt 1 ]; then…

[ ] 中不能使用,==,!=,>=,<=这样的符号

20.8/20.9 case判断

vim test.sh 脚本如下:

#!/bin/bash

read -p "Please input a number :" n

if [ -z $n ]

then

echo "please input a number:"

exit 1

fi

m=echo $n|sed 's/[0-9]//g'

if [ ! -z $m ]

then

echo "Please input a number:"

exit 1

#elif [ $n -lt 0 ] || [ $n -gt 100 ]

#then

echo "The number ranger is 0-100."

#exit 1

fi

if [ $n -lt 60 ] && [ $n -ge 0 ]

then

tag=1

elif [ $n -ge 60 ] && [ $n -lt 80 ]

then

tag=2

elif [ $n -ge 80 ] && [ $n -lt 90 ]

then

tag=3

elif [ $n -ge 90 ] && [ $n -le 100 ]

then

tag=4

else

tag=0

fi

case $tag in

1)

echo "not ok"

;;

2)

echo "ok"

;;

3)

echo "good"

;;

4)

echo "very good"

;;

*)

echo "The numbet range 0-100."

;;

测试如下:

0cdacb503c3553794fbe3f42ef577e6d.png

5521c20b87bebb308401844ee1d78b9c.png

10db1a9628664012ffc524721bbbde9b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值