七、Shell编程

编程入门 行业动态 更新时间:2024-10-05 09:25:02

七、<a href=https://www.elefans.com/category/jswz/34/1770778.html style=Shell编程"/>

七、Shell编程

条件语句 1、if条件语句 当条件成立执行相应操作 1)单分支
if 条件 then 执行命令 fi
2)双分支
if 条件 then 执行命令1 else 执行命令2 fi
*示例
#!/bin/bash age=20 if [[ $age -gt 18 ]]; then echo "已成年!" else echo "未成年!" fi
3)多分支
if 条件 then 执行命令1 elif 条件 then 执行命令2 ... else 执行命令n fi
示例
#!/bin/bash sallray=2000 if [ $sallray -lt 600 ]; then echo "低工资!" elif [ $sallray -ge 600 ] && [ $sallray -lt 1000 ] then echo "中等工资" elif [ $sallray -ge 1000 ] && [ $sallray -lt 1800 ] then echo "中高等工资" else echo "高工资" fi
2、case语句
case 变量 in 常量1) 命令1 ;; .... 常量n) 命令n ;; *) 命令n+1 ;; esac
示例
#!/bin/bash sigal=3 case $sigal in 1 ) echo "开灯" ;; 2 ) echo "关灯" ;; 3 ) echo "停电" ;; * ) echo "无法判断" esac
3、常用的逻辑运算符
逻辑卷标 表示意思
1. 关于档案与目录的侦测逻辑卷标!
-f 常用!侦测『档案』是否存在 eg: if [ -f filename ]
-d 常用!侦测『目录』是否存在
-b 侦测是否为一个『 block 档案』
-c 侦测是否为一个『 character 档案』
-S 侦测是否为一个『 socket 标签档案』
-L 侦测是否为一个『 symbolic link 的档案』
-e 侦测『某个东西』是否存在!
2. 关于程序的逻辑卷标!
-G 侦测是否由 GID 所执行的程序所拥有
-O 侦测是否由 UID 所执行的程序所拥有
-p 侦测是否为程序间传送信息的 name pipe 或是 FIFO (老实说,这个不太懂!)
3. 关于档案的属性侦测!
-r 侦测是否为可读的属性
-w 侦测是否为可以写入的属性
-x 侦测是否为可执行的属性
-s 侦测是否为『非空白档案』
-u 侦测是否具有『 SUID 』的属性
-g 侦测是否具有『 SGID 』的属性
-k 侦测是否具有『 sticky bit 』的属性
4. 两个档案之间的判断与比较  ;例如[ test file1 -nt file2 ]
-nt 第一个档案比第二个档案新
-ot 第一个档案比第二个档案旧
-ef 第一个档案与第二个档案为同一个档案( link 之类的档案)
5. 逻辑的『和(and)』『或(or)』
&& 逻辑的 AND 的意思
|| 逻辑的 OR 的意思
    
运算符号 代表意义
= 等于 应用于:整型或字符串比较  如果在[] 中,只能是字符串
!= 不等于 应用于:整型或字符串比较  如果在[] 中,只能是字符串
< 小于 应用于:整型比较  在[] 中,不能使用 表示字符串
> 大于 应用于:整型比较  在[] 中,不能使用 表示字符串
-eq 等于 应用于:整型比较
-ne 不等于 应用于:整型比较
-lt 小于 应用于:整型比较
-gt 大于 应用于:整型比较
-le 小于或等于 应用于:整型比较
-ge 大于或等于 应用于:整型比较
-a 双方都成立(and) 逻辑表达式 –a 逻辑表达式
-o 单方成立(or) 逻辑表达式 –o 逻辑表达式
-z 空字符串
-n 非空字符串

更多推荐

七、Shell编程

本文发布于:2024-02-28 01:22:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1767608.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Shell

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!