2023年8月2日发(作者:)
shell脚本第⼆篇------if..else选择分⽀结构和case分⽀结构分⽀结构: if...else 格式1: if [ 条件 ] then 语句体 else 语句体 fi 注意 :条件的两边是空格, 多个条件之间要有空格 if 后⾯要有空格 条件中如果存在变量, 那么变量的两边要有双引号
例如: name="xiaoming" ---> echo $name N="xiaoming" 在if的条件中取应该是"$name">"$N" 两个变量进⾏⽐较 if变量中$的两边⼀定要有双引号 格式2: if语句 和 then 在同⼀⾏,中括号和then之间⽤英⽂的分号隔开
if [ 条件 ];then # 英⽂分号 语句体 else 语句体 fi
案例: 判断/root⽬录是否为空 查看/root下有没有东西 : ls /root 字符串之间的判断: == 字符串是否相等
!= 是否不相等
脚本内容(正确写法):
结果: 正常结果输出
注意点 : 反单引号和空格 带异常的结果
案例第⼆种shell写法
结果:
案例: 通过输⼊任意⽬录判断是否为空 脚本内容:
结果:
逻辑运算符: == 是判断字符串是否⼀样关系运算符且/与或⾮命令-a-o!举例a == 0 -a b == 0 a为0且b为0a == 2 -o a == 1 a为0或者a为1
案例: 判断⽤户输⼊的⽤户名和密码是否为admin 123456,如果是则提⽰登录成功,否则提⽰失败 分析: 两个条件是且的关系
shell 脚本:
结果: 结果逻辑有问题
⽐较运算符: = 是⽐较两个数字的⼤⼩ 注意和 == 区分开⽐较运算符等于不相等⼤于⼤于等于⼩于⼩于等于命令-eq-ne-gt-ge-lt-le含义和举例判断是否相等判断是否不相等判断是否⼤于判断是否⼤于等于判断是否⼩于判断是否⼩于等于案例: 输⼊数字,判断是否⼤于0,如果⼤于0则将该数字-1并输出,否则+1输出 变量运算的多种写法 i=i+1的五种⽅式:
序号第⼀种⽅式第⼆种⽅式第三种⽅式第四种⽅式第五种⽅式写法((i++))
((i+=1))
i=$[$i+1]
let i=i+1i=$(($i+1)) 变量间加减运算:
s=$(($s+$i)) s=$[$s+$i] ((s=$s+$i)) 脚本:
结果: 输⼊2进⾏了减1 输⼊0 进⾏了加1 输⼊-8进⾏了加1 结果-7 输⼊9 进⾏了减1 结果8
知识点: test命令test 参数 变量名 #命令作⽤: 判断⽂件的状态
-e 表⽰⽂件是否存在 -f 表⽰⽂件是否存在且为⽂件 -d 表⽰⽂件名是否存在且为⽬录 -r 可读 -w 可写 -x 可执⾏ 案例: 判断⽤户输⼊的⽬录是否存在,如果存在则统计⽬录下的⽂件个数,否则提⽰⽤户该⽬录不存在
脚本:
结果:
知识点: 多分⽀结构
if [ 条件 ]then 语句elif [ 条件 ]then 语句elif [ 条件 ]then 语句 ...else 语句fi案例: 判断学⽣的成绩,⼤于90-100提⽰优秀,80-90之间提⽰良好,70-80之间则提⽰⼀般,60-70之间提⽰及格。其他则提⽰不及格 shell脚本:
结果:
知识点: ⽂件判断命令作为 if的判断条件⽂件判断:-r -r filename ⽂件是否存在且可读 # filename是输⼊的内容,⽂件⽬录-w -w filename ⽂件是否存在且可写-x -x filename ⽂件是否存在且可执⾏-f -f filename ⽂件是否存在且是普通⽂件-d -d filename ⽂件是否存在且是⼀个⽬录-e -e filename ⽂件是否存在-n -n str1 字符串长度是否不等于0-z -z str2 字符串长度是否等于0案例: 判断⽤户输⼊的内容是否为空,为空则提⽰,不为空则判断是否为⽬录,不为⽬录则判断是否为⽂件,否则提⽰错误信息shell脚本:
结果:
知识点: case分⽀格式 case $变量名 in "值") # 变量和值进⾏⽐较
语句1;; # 如果⼀样执⾏语句1 ,注意是 ;;
"值") # 上⾯的判断不满⾜,
语句2;; # 当第⼆个⽐价满⾜时执⾏语句2
...... *) # 当上⾯都不满⾜的时候默认情况 语句体;; esac注意: 1# 从上往下只要有⼀个条件满⾜,就执⾏此条件下的语句体, 下⾯就不再进⾏判断了 2# case 第⼀⾏最后必须是 in 3# 语句体结束必须是两个分号 ;; 结束语句的意思 4# case 的最后 esac
5# 值可以是字符串也可以是数字
6# 值还可以是区间范围[0-9] 案例1: 输⼊⼀个序号,判断该⽤户选择哪款产品,A:笔记本 B:电饭煲 C:⼩台灯
shell脚本:
结果:
案例2: 请输⼊对客服的满意度,【0-3】不满意,【4-6】满意,【7-9】⾮常满意shell脚本:
结果:
总结:介绍 通常所说的shell就是shell脚本,它是⼀门脚本语⾔,弱类型规范 第⼀⾏内容为#!/bin/bash #注释 是以.sh结尾的⽂件语法 变量 定义 释放变量 变量值如果有空格,需要加引号 "" :输出变量对应的值 '':原样输出 ``:定义命令变量时需要使⽤`` 命名规范 输出变量:echo $变量名 输⼊:read 变量名 read -p "提⽰信息" 变量名 向⽂件传递参数: $1--->传递第⼀个参数 $2---->.... $3--->.... $n---->...... $0:显⽰的是⽂件名称 $@:显⽰所有的参数 $#:显⽰的参数的个数 重定向:将内容保存到⽂件中 正确命令: ⽤数字1表⽰, >覆盖,>>追加 错误命令:⽤数字2表⽰,>覆盖,>>追加程序的结构: 分⽀结构: if...else分⽀: 逻辑运算符:-a -o ! ⽐较运算符:-ge -gt -lt -le -eq -ne 测试⽂件的状态:test 参数 ⽂件名 字符串判断:== ,!= ⽂件判断:-d -e -f -w -r -x ..... if...lse分⽀ case分⽀: 注意: 这⼀⾏的最后为in 2.;;表⽰语句的结束 3. *:表⽰默认 :表⽰case语句结束 5.值:可以是字符串、数字、还可是区间范围【0-9】之间
发布者:admin,转转请注明出处:http://www.yc00.com/news/1690918999a463438.html
评论列表(0条)