当前位置: 首页 > Linux

十分钟内完成高级Bash脚本编写!列举Bash的经典用法及其案例

时间:2023-04-06 19:54:23 Linux

前言:在Linux中,Bash脚本是非常基础的知识。听剧本你可能会觉得很高级。和小编刚学的时候一样,感觉只有会写脚本的人才是上帝。复杂的脚本虽然很费脑子,但是当我们熟练掌握它们的用法和技巧,多加练习,总有一天我们会成为得心应手的脚本高手。脚本在制作中的作用,想必小编就不说了,大家都知道脚本写6,可以省去很多繁琐的操作,减轻你的工作压力。好了,废话不多说,接下来就是展示Bash脚本的用法了。1.条件选择、判断(if,case)2.四种循环(for,while,until,select)3.循环中的一些命令和技巧(continue,break,shift...)4.信号捕获陷阱1.条件选择与判断(1)条件选择if**1,if判断条件1的使用格式;then  条件为真分支代码elif判断条件2;then  条件为真分支代码elif判断条件3;then  条件为真分支代码else  以上条件均为假分支代码fi逐个条件判断,第一次遇到“真”条件,执行其分支,然后结束整个if。2、经典案例:①判断年龄分析:请输入年龄,先判断输入的是否包含数字以外的字符,如果是则报错;如果不是,则继续判断是小于150还是大于18。②判断分数分析:请输入分数,先判断输入的是否包含数字以外的字符,如果是则报错;如果不是,则继续判断是否大于100,是否大于85,是否大于60。(2)条件判断案例**1,用法格式案例$namein;PART1)  cmd  ;;PART2)  cmd  ;;*)  cmd  ;;esac注意:case支持glob-style通配符:  *:任意长度任意字符  ?:任意单个字符  []:指定范围内的任意单个字符  a|b:aorb2、Case:判断yesorno分析:请输入yesorno,回答Y/y,yes,所有大小写组合都是yes;answerN/n,No,大小写的所有组合都是no。2.四个循环(1)for**1。使用格式①fornameinlist;do  loopbodydone②for((exp1;exp2;exp3));do  cmddoneexp1只执行一次,相当于嵌入whileinfor③执行机制:将列表中的元素依次赋值给“变量名”;每次赋值后执行一次循环体;直到列表中的元素都用完,循环结束列表的表达方式可以是glob通配符,如{1..10},*.sh;也可以使用变量引用,如:`seq1$name`2.案例:①求出(1+2+...+n)求和分析:求和的初值为0,请输入一个数,首先判断输入是否包含数字以外的字符,如果是则报错;如果不判断是否为0,如果不为0,则进入for循环,i的取值范围为1~输入的数,每次循环sum=sum+i,循环结束,最后取值总和的输出。②求和分析(1+2+...+100):i=1,num=0;当i<=100时,进入循环,若i÷2余数=1,则sum=sum+i,i=i+1。(2)while1,while循环控制条件的使用格式;do  loopdone循环控制条件;进入循环前,先做判断;每次循环后,再做一次判断;如果条件为“真”,执行循环;直到条件测试状态为“假”,循环终止2.特殊用法(遍历文件的每一行):whilereadline;控制变量初始化  循环体完成3时,释放捕获2信号。5.脚本知识(持续更新中)**1.生成随机字符cat/dev/urandom**  生成8个随机大小写字母或数字cat/dev/urandom|tr-dc[:alnum:]|head-c82.生成随机数echo$RANDOM  确定范围echo$[RANDOM%7]7个随机数(0-6)      echo$\[$[RANDOM%7]+31]7个随机数(31-37)3.echo打印颜色字echo-e"\033[31malong\033[0m"显示红色alongecho-e"\033[1;31malong\033[0m"高亮红色alongecho-e"\033[41malong\033[0m"显示背景色为红色alongecho-e"\033[31;5malong\033[0m"显示闪烁的红色alongcolor=$\[$[RANDOM%7]+31]echo-ne"\033[1;${color};5m*\033[0m》沿途显示闪烁的随机颜色6.分享几个有趣的小脚本1.9x9乘法表2.彩色等腰三角形3.棋盘好了,今天的内容就这些了,其实小编的脚本技巧也是新手级别的,大家会一起努力,争取成为脚本高手!!!