脚本进阶ij.for,case,while,

流程控制:
      顺序执行、选择执行、循环执行

选择执行:
  if COMMADN;then COMMAND;fi   :第一个命令执行成功,就执行第二条命令,否则就退出
多分支:
if  判断条件 1 ; then
      条件为真的分支代码
elif  判断条件 2 ; then
      条件为真的分支代码
elif  判断条件 3 ; then
      条件为真的分支代码
else
      以上条件都为假的分支代码
fi
?  逐条件进行判断,第一次遇为“真”条件时,执行其分支,而后结束整个if

case中的 PAT 支持glob风格的通配符:
             *:  任意长度任意字符
             ?:  任意单个字符
            []:指定范围内的任意单个字符
           a|b: a或b
case 变量引用 in        #变量引用便是方法: $i  就是变量引用的值                  
PAT1)                   #每个分支结束,需要双引号结束
      分支1
      ;;
PAT2)
      分支2
      ;;
      …
)
      默认分支
      ;;
esac

循环执行:      
for  变量名 in 列表;do         #变量名,比如i, 直接是变量i ,而不是$i
     循环体
done
  执行机制 :
          依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束

列表生成方式:
(1)  直接给出列表
(2)  整数列表:
      (a) {start..end}     #{1..100}   {1..100..2} {100..1..1}  {100..10..-2}
      (b) $(seq [start [step]] end)  # seq 100   seq 1 2 100  seq 100 -2 1
      使用中括号的列表,步长放在后面
      使用seq命令列表,步长放在中间
(3)  返回列表的 命令
      $(COMMAND)
(4)  使用glob,如:
.sh
(5)  变量引用;
      [email protected], $*

取随机字符:tr -dc “[:alnum:]” < /dev/urandom |head -c8 |md5sum  表示取几位字符
                                              取随机密码:md5sum
for循环适合使用在关于数字和列表的循环,列表多少就循环多少次
while循环适用于判断命令成功与否;
打印颜色: echo -e “\033[41m  \033[0m”       -e 是使转义符生效
                     设定颜色    结束符
          其中41-45设定背景色,31-35字体颜色

while CONDITION; do
      循环体
done
?     CONDITION:循环控制条件;进入循环之前,先做一次判断;每一次循环之后会再
                  判断;条件为“true” ,则执行一次循环;直到条件测试状态为“false” 终止循环
 因此:CONDTION 一般应该有循环控制变量;而此变量的值会在循环体不断地被修正
?  进入条件:CONDITION 为true
?  退出条件:CONDITION 为false

until CONDITION; do
    循环体
done
?   进入条件: CONDITION  为false
?   退出条件: CONDITION  为true

循环控制语句continue

用于循环体中
? continue [N] :提前结束第N 层的本轮循环,而直接进入下一轮判断;最内层为第1层
while CONDTIITON1; do
        CMD1
        …
if CONDITION2; then
        continue
fi
        CMD2
done

时间: 2024-10-16 11:33:51

脚本进阶ij.for,case,while,的相关文章

shell脚本进阶篇(上)

shell脚本是我们学习运维的难点,本篇内容简单举例shell脚本的进阶上篇,有任何技术上的指导,知识上的不足都欢迎指出点明. 流程控制 过程式编程语言: 顺序执行   选择执行  循环执行 条件选择if语句 ? 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi 多分支 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3;

shell脚本进阶一(for,while,continue,break,select等等)

脚本进阶一 一.for循环的第二种写法: 众所周知,for有两种写法 第一种:for i in k8s-node{1..3};do setenforce 0;done 第二种写法:C语言风格 直接写怎么用: #for后必须写两个括号,又称双小括号写法 [[email protected] ~]# cat for_2.sh #!/bin/bash for ((i=1,sum=0;i<=100;i++));do let sum+=i done echo "sum=${sum}" [[

shell脚本中if与case使用,查找文件locate与find的使用,压缩,解压及归档工具

shell脚本中if与case使用 查找文件locate与find的使用 压缩,解压及归档工具 执行的循序  顺序执行  选择执行  循环执行 条件语句if if只是一个有含义的词,不能单独作为指令使用. 单分支 if 条件判断:then 条件为真的分支代码 fi 双分支 if 判断条件:then 条件为真的分支代码 else 条件为假的分支代码 fi 多分支 if 判断条件1, if-true elif 判断条件2,then if-ture elif 判断条件3,then if-ture ..

高级脚本进阶—使用case的多功能选择性脚本

应用场景: 在应用脚本决解实际的运维问题时,单功能脚本有很多的不同应用环境,如不同的运行环境,不同的系统版本等,这时,就需要对脚本的功能进行选择,一个脚本实现多功能多版本系统的维护,以减少沟通成本,而减少工作与沟通的复杂度是实际的工作中很有必要的,介绍一个简单的实现小框架,使用case流分离工具进行功能分离: #!/bin/bashTitle= oneSubtitle= twoSubtitle= threeSubtitle= fourSubtitle= fiveSubtitle= sixSubt

十分钟完成Bash 脚本进阶!列举Bash经典用法及其案例

前言:在linux中,Bash脚本是很基础的知识,大家可能一听脚本感觉很高大上,像小编当初刚开始学一样,感觉会写脚本的都是大神.虽然复杂的脚本是很烧脑,但是,当我们熟练的掌握了其中的用法与技巧,再多加练习,总有一天也会成为得心应手的脚本大神.脚本在生产中的作用,想必小编我不说,大家也都知道,脚本写的6,可以省下很多复杂的操作,减轻自己的工作压力.好了,废话不多说,接下来,就是Bash脚本的用法展示. 一.条件选择.判断(if·.case) 二.四个循环(for.while.until.selec

Bash 脚本进阶,经典用法及其案例

前言:在linux中,Bash脚本是很基础的知识,大家可能一听脚本感觉很高大上,像小编当初刚开始学一样,感觉会写脚本的都是大神.虽然复杂的脚本是很烧脑,但是,当我们熟练的掌握了其中的用法与技巧,再多加练习,总有一天也会成为得心应手的脚本大神.脚本在生产中的作用,想必小编我不说,大家也都知道,脚本写的6,可以省下很多复杂的操作,减轻自己的工作压力.好了,废话不多说,接下来,就是Bash脚本的用法展示. 一.条件选择.判断(if·.case) 二.四个循环(for.while.until.selec

linux脚本进阶例题解析

例题一:编写脚本/root/bin/createuser.sh,实现如下功能: 使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之:并生成8位随机口令并存在一个文件中,初步提示改口令,显示添加的用户的id号等信息 #!/bin/bash # ------------------------------------------ # Filename: useradd.sh  # Revision: null # Date: 2017-09-11 21:47:22 # Auth

shell脚本进阶

一.流程控制 流程控制语句,即用来实现对程序流程的选择.循环和返回等进行控制的语句. 1.条件判断 (1)if条件判断 普通if条件判断 格式: 嵌套if条件判断 格式: (2)case判断 简洁版多分支if语句,当if语句有多个elif时可以使用case语句代替,语言更简洁容易理解.使用场景:判断某个变量值是否为多种情形中的一种时使用. 格式: 示例: 执行结果: 2.循环 循环执行就是将循环体内的代码重复运行多次:运行的次数由进入循环的条件和退出循环决定. (1)for循环 格式: 列表:变

Bash脚本之if、case、read和位置参数

在学会了基本的命令之后,我们就可以使用这些命令来进行编程了.在Linux中的编程称为shell脚本,是将命令进行结合形成的类似Windows中批处理的东西.在这个脚本中,可以有变量和结构体.每一个程序所拥有的程序执行过程,例如:顺序执行.选择执行和循环执行都可以在脚本中体现出来.下面就对shell脚本进行介绍. 首先,shell脚本编程是过程式编程语言,也就是说shell脚本强调接下来要执行的步骤,就好像是人在对shell说接下来要做什么,要明确的指出每一步的方法.然后shell还是脚本类语言,