随笔 - 52  文章 - 0  评论 - 2  阅读 - 16496

Shell编程基础2

内容:

条件表达式
if条件语句
case条件结构语句
练习题
其他补充说明

条件表达式

#1.文件判断

判断文件是否存在

判断文件是否存在,返回方式

判断目录是否存在

使用变量的方法进行判断


#2.字符串判断

1.对于字符串的测试,一定要将字符串加双引号之后再进行比较。
2.空格为空

-z 判断字符串长度

-n 判断字符串长度

"串 1" == " 串 2 " 使用定义变量的方式进行判断


#3.整数判断

判断两数是否相等

大于等于

小于

大于

不等于


#4.逻辑符号

逻辑操作符与整数判断配合

取反

两边都为真

至少有一边为真


#5.【练习题】比较2个整数大小

要求:

  1. 分别以定义变量,脚本传参以及read读入的方式写3个脚本。
  2. 用条件表达式(禁止if语句)进行判断。
  3. 将2个整数的比较结果输出到屏幕,出错需要提示。

使用定义变量方法

使用传参方法

使用read读入


if条件语句

条件表达式和if语句可以互相转换

#1.三种语法

单分支语句

双分支语句

多分支语句

  单分支:一个条件一个结果

  双分支:一个条件两个结果

  多分支:多个条件多个结果


#2.【练习题1】输入2个数字,比较大小(使用if语句结合条件表达式实现)

3个脚本:使用直接赋值,传参,read任一种方法写3种脚本(单分支,双分支,多分支)

示例脚本一:

示例脚本二:

示例脚本三:


case条件结构语句

case语法结构

case "字符串变量" in 
  值1)
     指令1
     ;;
  值2)
     指令2
     ;;
  值*)
     指令n
esac

#1.case值的书写方式

apple)
      echo -e "$RED_COLOR apple $RES"
      ;;

也可以这样写,输入2种格式找同一个选项

apple|APPLE)
      echo -e "$RED_COLOR apple $RES"
      ;;

#2.case语句小结

case语句就相当于多分支的if语句。case语句的优势是更规范、易读。
case语句适合变量的值少,且为固定的数字或字符串集合。(1,2,3)或(start,stop,restart)。
系统服务启动脚本传参的判断多用case语句,多参考rpcbind/nfs/crond脚本;菜单脚本也可以使用

#3.【练习题】使用case编写一个菜单脚本


#4.写脚本规范及注意事项

1.变量名称不能和系统已经存在的命令等重复  free  == > Free;
2. 判断单位要统一
3. 脚本一行不超过一屏的一半。
4. 能写成变量的内容尽量写成变量

#5.if 与 case 对比

if 语句类似黑名单,需要把这种错误场景封堵
case 语句类似白名单,只要把正确结果列完整即可

脚本练习【练习跑通后再补充...】


其他补充说明

#1.linux中产生随机数的方法


#2.echo 命令输出带颜色字符

彩色字体

彩色底纹

特效字体






#3.显示文本中的隐藏字符

使用cat命令查看文本中的隐藏字符

[root@clsn ~]# cat --help
用法:cat [选项]... [文件]...
将[文件]或标准输入组合输出到标准输出。

-A, --show-all           等于-vET
-b, --number-nonblank    对非空输出行编号
-e                       等于-vE
-E, --show-ends          在每行结束处显示"$"
-n, --number             对输出的所有行编号
-s, --squeeze-blank      不输出多行空行
-t                       与-vT 等价
-T, --show-tabs          将跳格字符显示为^I
-u                       (被忽略)
-v, --show-nonprinting   使用^ 和M- 引用,除了LFD和 TAB 之外

使用cat -A查看隐藏的字符


#4.排错技巧

sh -x  脚本.sh
-x 开启脚本调试模式

cat -A  文件.txt
-A  查看文件的隐藏字符

#5.shell 脚本段注释方法

方法一:

<<EOF
  内容
EOF

方法二:

一行注释方法 → : '内容'
段注释方法 ↓
:' 
 http://blog.znix.top
'

:命令的应用场景

if 条件
then 
  :
else
  命令
fi

#6.其他补充

类进度条效果

yum install -y pv 
echo {1..20}|pv -qL 15

clear 命令

清屏 == ctrl + l

搬运并学习,原博客

https://www.cnblogs.com/clsn/p/8006210.html

posted on   亚城木CC  阅读(50)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示