精华内容
下载资源
问答
  • shell双重for循环
    千次阅读
    2020-11-13 18:32:50

    一、echo的使用

    echo的使用方法:   
       -n:不换行输出
       -e:支持反斜线控制的字符转换
    
    转义:
        \a:发出警告声
        \b:删除前一个字符
        \c :最后不加上换行符号
        \f : 换行但光标仍旧停留在原来的位置
        \n :换行且光标移至行首
        \r :光标移至行首,但不换行
        \t:插入tab
        \v 与 \f 相同
        \ 插入 \ 字符 
        \nnn 插入  nnn(八进制)所代表的ASCII字符
    

    二、seq的使用

    seq的使用方法:
         seq   1000 起始默认是1,间隔默认也是1
         seq   2  1000 间隔默认是1
         seq  1  3 10110,间隔为3,结果是:1 4 7 10
         seq  1  101开始,到10结束,间隔为1,结果是:1 2 3.... 10
    
    

    示例:
    1.打印正方形

    在这里插入图片描述

    2.直角三角形

    在这里插入图片描述
    2.1倒立直角三角形

    在这里插入图片描述
    3.打印菱形

    在这里插入图片描述
    4.打印九九乘法表

    在这里插入图片描述

    更多相关内容
  • shellfor、while、until循环shell编程循环语句for语句应用示例while语句结构while小实验until语句 shell编程循环语句 读取不同的变量值,用来逐个执行同一组命令 格式: for 变量名 in 聚会列表 do 命令序列 ...

    shell编程循环语句

    • 读取不同的变量值,用来逐个执行同一组命令
    格式:
    for 变量名 in  聚会列表
     do
       命令序列
     done
    
    • for执行命令图
      在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    • 求1-100的整数和
    /1-100整数和:
    
    [root@localhost ~]# sum=0
    [root@localhost ~]# for i in $(seq 1 100)
    > do
    > sum=$[$sum + $i]
    > done
    [root@localhost ~]# echo $sum
    5050
    
    

    for语句应用示例

    • 批量添加用户
    • 用户名存放在users.txt文件中,每行一个,初始密码设置为123456,验证脚本
    创建一个users文本文件
    vim users.txt
    新那一个shell脚本文件
    vim demo1.sh
    #!/bin/bash
    user=$(cat ~/users.txt)    /将users.txt文件内容赋值给user变量
    for i in $user
     do
       useradd $i
       echo 12345 | passwd --stdin &> /dev/null
       /一个一个设置密码,并将提示信息吸入黑洞
     done
    -----------------------------------------------------------
    验证脚本
    cat /etc/passwd  
    cat /etc/shadow
    
    • 根据IP地址查看主机状态
    #!/bin/bash
    
    ip=$(cat ~/ping.txt)
    
    for a in $ip
    
       do
          ping -c 3 -i 0.5  -W 2 $a &> /dev/null
    
           if [ $? -eq 0 ]; then    //格式一定要注意留空格
    
               echo "主机在线:"
    
             else
    
               echo "主机不在线:" 
    
           fi
    
       done
    
    

    while语句结构

    while语句结构
    
    while 条件测试操作
     do
       命令序列
     done
    
    • 根据特定条件反复执行一个命令序列,直到不满足条件为止
    • 编写时可能会出现死循环,要避免这种情况发生
    • true(真)和false(假)为特殊条件测试操作,也可以在if语句的条件测试中使用
    • true作为条件时,表示条件永远成立,无限执行,也就是死循环,需要强制终止
    • false作为条件时,表示条件不成立,不执行命令序列

    while小实验

    • 批量添加用户; 用户名称以stu开头,按数字顺序进行编号
    vim demo2.sh
    #!/bin/bash
    a=1
    while [ $a -le 10 ]
    do
      useradd  stu$a
      echo 123456 | passwd --stdin stu$a
      let a++
    done
    
    • 猜商品价格
    • 通过变量RANDOM获得随机数
    • 提示用户猜测并记录次数,猜中后退出循环
    #!/bin/bash
    
    jg=$[ $RANDOM % 1000 ]
    
    a=1
    zcs=0
    while [ $a -lt 2 ]
      do
       read -p "请输入商品价格:" p
       if [ $p -eq $jg ]; then
          echo "恭喜你猜对了!"
          let zcs++
          let a++
       elif [ $p -gt $jg ]; then
          echo "你猜高了,请重新输入:"
          let num++
        elif [ $p -lt $jg ];then
          echo "你猜小了,请重新输入:"
          let num++
        fi
       done
     echo "你总共猜了$num 次"
    
    

    until语句

    与while相反,重复测试某个条件,只要条件不成立则反复执行
    在这里插入图片描述

    • 格式
    until条件测试操作               while  未超过10
    do                             do
      命令序列                        数字依次递增
    done                           done
    
    • 使用until计算1-50的和
    #!/bin/bash
    a=1
    sum=0
    until [ $a -gt 50  ]
    do
      sum=$[$sum+$a]
      let a++
    done
      echo "1-50的和为:$sum"
    

    双重循环

    双重循环-for循环

    • 外循环一次,内循环全部执行一遍
    vim dmo1.sh
    #!/bin/bash
    
    for ((a=1;a<=5;a++))
    do
      echo "外层循环:$a "
      for ((b=1;b<=6;b++))
      do
        echo -e "\t 内层循环:$b "  
      done
    done
    -----------------------------------------------
    bash dmo1.sh
    外层循环:1 
    	 内层循环:1 
    	 内层循环:2 
    	 内层循环:3 
    	 内层循环:4 
    	 内层循环:5 
    	 内层循环:6 
    ......
    外层循环:5
    .
    .
    
    
    • break 退出当前循环
    • break 2 退出2重循环
    #!/bin/bash
    
    for ((a=1;a<=5;a++))
    do
      echo "外层循环:$a "
      for ((b=1;b<=5;b++))
      do
        if [ $b -eq 5 ]; then
          break 2
        fi
        echo -e "\t 内层循环:$b "
      done
    done
    -------------------------------------
    运行结果:
    外层循环:1 
    	 内层循环:1 
    	 内层循环:2 
    	 内层循环:3 
    	 内层循环:4 
    
    
    • continue,当条件成立时,终止当前执行的命令,继续执行后面的命令
    #!/bin/bash
    
    for ((a=1;a<=5;a++))
    do
      echo "外层循环:$a "
      for ((b=1;b<=5;b++))
      do
        if [ $b -eq 3 ]; then
          continue
        fi
        echo -e "\t 内层循环:$b "
      done
    done
    -------------------------------
    运行结果:外循环1-5
         内循环跳过3
         
    	 内层循环:5 
    外层循环:5 
    	 内层循环:1 
    	 内层循环:2 
    	 内层循环:4 
    	 内层循环:5 
    
    
    • exit:表示异常退出 ,退出脚本
    • exit 1/2:表示异常退出,并且返回参数值
    • 用户输入密码,脚本判断密码是否正确,输入正确提示正确信息,连续输错3次则报警
    vim dmo2.sh
    
    #!/bin/bash
    mm=123456
    for i in {1..3}
    do
      read -p "请输入密码:" psswd
      if [ $psswd == $mm ]; then
        echo "密码输入正确!"
        exit
      fi
    done
    echo "警告!你已经输入过多!"
    --------------------------------------
    运行结果:
    [root@localhost ~]# bash dmo2.sh 
    请输入密码:4
    请输入密码:5
    请输入密码:6
    警告!你已经输入过多!
    [root@localhost ~]# bash dmo2.sh 
    请输入密码:123456
    密码输入正确!
    
    

    IFS

    默认包含 空格,制表符,换行符
    查看命令:set | grep IFS
    IFS=$' \t\n'
    

    在这里插入图片描述

    #!/bin/bash
    
    lsbl=$IFS                 /设置临时变量
    IFS=$IFS:                 /以:作为分割符
    for a in $( echo $PATH)
    do
      echo "$a"
    done
    
    IFS=$lsbl          /程序执行完再使临时变量赋值给IFS,使参数值不会被改变
    -----------------------------------------------------------------
    查看环境变量:
    echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    运行结果:
    [root@localhost ~]# bash dmo4.sh
    /usr/local/sbin
    /usr/local/bin
    /usr/sbin
    /usr/bin
    /root/bin
    
    

    在这里插入图片描述

    从文件定向导入
    
    #!/bin/bash
    while read line   /line 为变量
    do
        echo $line
    done <name.txt
    

    使用双重for循环实现九九乘法表

    #!/bin/bash
    a=1
    b=1
    
    for((a=1;a<=9;a++))
    do
      for((b=1;b<=a;b++))
      do
         sum=$[$a * $b]
         echo -ne "$a*$b=$sum\t"
      done
         echo " "                 /输出空格换行
    done
    ----------------------------------------------
    运行结果:
    [root@localhost ~]# bash dmo5.sh 
    1*1=1	 
    2*1=2	2*2=4	 
    3*1=3	3*2=6	3*3=9	 
    4*1=4	4*2=8	4*3=12	4*4=16	 
    5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	 
    6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	 
    7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	 
    8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	 
    9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	
    
    
    展开全文
  • shell脚本之双重循环

    2022-08-30 16:01:04
    对于一些重复性动作我们可以用单层循环来满足重复性操作的需求,当这些...exit continue break正常的循环情况下for循环和while循环是只要条件符合就会一直循环下去,而until循环是只要条件不成立,就会一直循环。...

    内容预知

     1.双重循环的介绍与运用

    1.1 双重循环的理解 

    1.2 双重循环的机制

    1.3 简单运用 :双重循环打印九九乘法表 

     2.循环的结束语句

    2.1循环结束语句的介绍

    2.2 break 语句

    2.3 exit 语句 

     3.双重循环之花式打印图形

    3.1 单层循环,点到线的打印 

     3.1.1 用星星符号打印一条横线

    3.1.2  用星号打印出一条竖线 

    3.2 双重循环,线构成面的打印

    3.2.1 实心矩形打印 

    3.2.2 打印空心的的矩形 

    3.2.3 打印平行四边形

    3.3 双重循环构造直角三角形

    3.3.1 构造直角三角形 

    3.3.2 构造倒立直角三角形

     3.4 打印等腰三角形

    3.4.1 数学法答应等腰三角形 

    3.4.2 拼接法拼出等腰三角形

     3.5 拼接法打印平行四边形

    3.6 打印梯形

    3.6.1 直角梯形

    3.6.2 等腰梯形

    3.7  打印 菱形

    3.7.1 菱形拼接(上半部分用拼接法,下半部分用数学法)

    3.7.2 输出可调控大小的菱形 


     1.双重循环的介绍与运用

    1.1 双重循环的理解 

     对于一些重复性动作我们可以用单层循环来满足重复性操作的需求,当这些重复性操作有了别的分支操作时,便不是一个变量就能够解决问题,所以我们要再引入一层循环,让操作的输出结果更见详细化或者是通过一个脚本满足更为复杂的循环需求

    1.2 双重循环的机制

     

     单层循环:执行命令从上至下依次执行命令,进行条件判断,如果没有达到退出循环的要求,

    便再次进行该操作

    双重循环:循环中嵌套循环(在这里我们将外面的循环称作外部循环,嵌套在里面的叫内部循环)

    当外部循环执行一次时,内部循环就要将自身的所有循环进行一遍,一整个双重循环结束后,内部循环执行的次数等于自己本身循环的所有次数乘以外部循环的所有循环次数

     运用演示:

    #!/bin/bash
    
    #这是一个双重循环的测试实验
    
    
    for ((i=1;i<=5;i++))
    do
      echo "=============这是外部循环执行的第 $i 次==================== "
      for  ((a=1;a<=5;a++))
      do
      echo  "这是内部循环执行的第 $a 次" 
      done
    
    done
                                       

     

     

    结果执行:

     

    1.3 简单运用 :双重循环打印九九乘法表 

     

    #!/bin/bash
    i=1
    while [  $i  -le  9  ]
    do
       a=1
       while [ $a -le $i  ]
       do
       echo -n -e "$a*$i=$[i*a]\t" 
       let a++
       done
       let i++
       echo ""
    done
    

     

    结果测试:

     

     

     2.循环的结束语句

    2.1循环结束语句的介绍

    shell脚本常用的循环语句有三种:exit   continue   break 

    正常的循环情况下for循环和while循环是只要条件符合就会一直循环下去,而until循环是只要条件不成立,就会一直循环。但是有时我们利用循环并不想要循环输出的全部结果,而是需要它的一部分结果时,这时便引入了结束语句来帮助我们获取指定范围内的循环输出结果,或者是让原本的死循环合理退出

     

    2.2 break 语句

    1)break 的默认作用是退出单层循环

     运用演示

    结果测试:

     

     

    2)但是当break后面跟上了数字以后,数字为多少时,就会退出多少层循环 

     运用演示:


     结果测试:

     

    2.3 exit 语句 

    1)exit的默认作用时直接结束脚本进程,到此代表着脚本的结束


    运用演示 

    测试结果:
     

     2)exit 后面跟上数字后  代表着结束该进程并且将该数字修改为新的返回码(代替$?中要输出的值)

    运用演示: 

     

     
    测试结果:  

     

     

     3.双重循环之花式打印图形

    3.1 单层循环,点到线的打印 

     

     3.1.1 用星星符号打印一条横线

     

    #!/bin/bash
    
    i=1
    while [ $i -le 9  ];
    do
     echo  -n '*'
     let i++
    done
    echo ""
    

     输出结果:

    3.1.2  用星号打印出一条竖线 

     

    #!/bin/bash
    
    i=1
    while [ $i -le  9   ]
    do
    echo "*"
    let i++
    done
    

     

     输出结果:

     

    3.2 双重循环,线构成面的打印

     

    3.2.1 实心矩形打印 

    #!/bin/bash
    
    
    i=1
    while [ $i  -le  9   ]
    do
      a=1
      while [  $a  -le 9  ]
      do
    
        echo -n '*'
        let a++
      done
      echo ""
      let i++
    done
    

     

     

     输出结果:

     

    3.2.2 打印空心的的矩形 

    #!/bin/bash
    
    
    i=1
    while [ $i  -le  9   ]
    do
      a=1
      while [  $a  -le 9  ]
      do
       if [ $i -eq 1 -o $i -eq  9   ];then
        echo -n '*'
        else
        if  [ $a -eq 1  -o $a -eq 9   ];then
        echo -n "*"
        else
        echo -n " "
        fi
       fi
       let a++
      done
      echo ""
      let i++
    done
    

     

     

     输出结果:

     

    3.2.3 打印平行四边形

     

     

    3.3 双重循环构造直角三角形

    3.3.1 构造直角三角形 

    #!/bin/bash
    
    i=1
    while [ $i -le 9 ]
    do
      a=1
      while [ $a -le $i    ]
      do
      echo -n '*'
      let a++
    
      done
      echo ""
      let i++
    done
    

     

     

     输出结果:

     

    3.3.2 构造倒立直角三角形

    #!/bin/bash
    i=1
    while [ $i -le 9  ]
    do
      a=9
      while [ $a -ge $i  ]
      do
      echo -n '*'
      let a--
      done
      echo ""
      let i++
    done
    

     

     

     

    输出结果: 

     

     3.4 打印等腰三角形

    3.4.1 数学法答应等腰三角形 

    #!/bin/bash
    
    #用数学公式打印等腰三角形
    i=1
    while [ $i  -le 9  ]
    do
      a=9
      while [ $a  -ge  $i  ]
      do
      echo -n ' '
      let a--
      done
      b=$[(i*2)-1]
      c=1
      while [ "$c" -le "$b"  ]
      do
       echo -n '*'
    
       let c++
    
      done
    
      let i++
      echo  ""
    
    
    done
    

     

     

     输出结果:

     

    3.4.2 拼接法拼出等腰三角形

     

     

    #用图形拼接出等腰三角形
    
    
    i=1
    while [ $i -le  9 ]
    do
      a=9
      while [ $a -ge $i    ]
      do
      echo -n ' '
      let a--
      done
      b=1
      while [ $b -le $i ]
      do
      echo -n '*'
      let b++
      done
      c=2
      while [ $c -le $i ]
      do
      echo -n '*'
      let c++
      done
    let i++
    echo ""
    done
    

     

     

     

     输出结果:

     3.4.3 数学法打印倒立等腰三角形

     

    # 数学表达法打印倒等腰三角形
    d=9
    while [ $d -ge 1  ]
    do
     e=9
     while [ $e -ge $d ]
     do
     echo -n ' '
     let e--
     done
     f=$[(2*d)-1]
     g=1
     while [ $g -le $f ]  
     do
     echo -n '*'
     let g++
     done
    let d--
    echo ""
    done
    

     

     

    输出结果:

     

     3.5 拼接法打印平行四边形

    #!/bin/bash
    
    
    i=1
    while [ $i  -le 9  ]
    do
      b=1
      while [ $b  -le $i ]
      do
      echo -n ' '
      let b++
      done
    
      a=1
      while [ $a  -le 9  ] 
      do
      echo -n '*'
      let a++
      done
    
    echo ""
    let i++
    done
    ~                                            

     

     输出结果:

     同理:先打印一个空格填充的倒立直角三角形在打印一个矩形

    就可以得到不同方向的平行四边形

    3.6 打印梯形

    3.6.1 直角梯形

    #!/bin/bash
    i=1
    while [ $i -le 9 ]
    do
       a=1
       while [ $a -le 9 ]
       do
       echo -n '*'
       let a++
       done
       b=1
       while [ $b  -le $i ]
       do
       echo -n '*'
       let b++
       done
    let i++
    echo ""
    done
    

     

     输出结果:

     同理:一个空格填满的倒立直角三角形,接星号填满的剩余矩形部分,再加上另一个矩形

    即可形成换方向的直角梯形

     

    3.6.2 等腰梯形

     方法一:

     上面两个不同方向的直角梯形拼接即可

     

    方法二: 

    等腰三角形,起始行进行改变即可(数学方法:等腰三角形切割掉顶角就是等腰梯形) 

     

     

     

    3.7  打印 菱形

     

    3.7.1 菱形拼接(上半部分用拼接法,下半部分用数学法)

     

    #!/bin/bash
    
    #使用拼接法加数学表达法实现菱形的打印
    
    
    
    #上半部分为图形拼接的等腰三角形
    i=1
    while [ $i -le 9 ]
    do
      a=9
      while [ $a  -ge  $i ]
      do
      echo -n  ' '
      let a--
      done
      b=1
      while [ $b -le  $i ]
      do
      echo -n '*'
      let b++
      done
      c=2
      while [ $c -le  $i   ]
      do
      echo -n '*'
      let c++
      done
    echo ""
    let i++
    done
    
    #下半部分为 数学表达法的倒等腰三角形
    d=8
    while [ $d -ge 1  ]
    do
     e=9
     while [ $e -ge $d ]
     do
     echo -n ' '
     let e--
     done
     f=$[(2*d)-1]
     g=1
     while [ $g -le $f ]  
     do
     echo -n '*'
     let g++
     done
    let d--
    echo ""
    done
    

     

     输出结果:

     

    3.7.2 输出可调控大小的菱形 

     中心思维:把原本定好的行数改变成一个变量,下半部分倒立的等腰三角形变为变量减一即可

     

    #!/bin/bash
    
    #使用拼接法加数学表达法实现菱形的打印
    
    
    
    #上半部分为图形拼接的等腰三角形
    read -p "请输入数字来控制菱形的大小,建议范围在(8-20)"  num
    i=1
    while [ $i -le $num ]
    do
      a=$num
      while [ $a  -ge  $i ]
      do
      echo -n  ' '
      let a--
      done
      b=1
      while [ $b -le  $i ]
      do
      echo -n '*'
      let b++
      done
      c=2
      while [ $c -le  $i   ]
      do
      echo -n '*'
      let c++
      done
    echo ""
    let i++
    done
    
    #下半部分为 数学表达法的倒等腰三角形
    d=$[num-1]
    while [ $d -ge 1  ]
    do
     e=$num
     while [ $e -ge $d ]
     do
     echo -n ' '
     let e--
     done
     f=$[(2*d)-1]
     g=1
     while [ $g -le $f ]  
     do
     echo -n '*'
     let g++
     done
    let d--
    echo ""
    done
    

    测试结果:

     

    展开全文
  • Shell脚本:双层循环

    千次阅读 2021-05-13 19:17:07
    双层循环听到整个名字相必大家们并不陌生,有点...通过for循环来实现九九乘法表: #!/bin/bash/ for((i=1; i<=9; i++)) do for((j=1; j<=i;j++)) do sum=$[ $i * $j ] echo -ne "$i*$j=$sum\t" done echo

    双层循环听到整个名字相必大家们并不陌生,有点语言基础的都知道就是在循环里面在嵌套一层循环。下面我会通过九九乘法口诀表的例子来详细解析双层循环。

    例题如下
    通过for循环来实现九九乘法表:

    #!/bin/bash/
    
    for((i=1; i<=9; i++))
    do
            for((j=1; j<=i;j++))
            do
    
            sum=$[ $i * $j ]
            echo -ne  "$i*$j=$sum\t"
            done
    echo ""
    done
    

    在这里插入图片描述
    在这里插入图片描述
    不难发现上述代码可以轻而易举的实现九九乘法表。

    通过while来实现九九乘法表

    i=1
    while [ $i -le 9 ]
    do
                    j=1
            while [ $j -le $i ]
            do
                    sum=$[ $i * $j ]
                    echo -ne "$i*$j=$sum\t" 
                    let j++
            done
            let i++
    echo ""
    done
    

    在这里插入图片描述
    在这里插入图片描述
    不难发现while双层循环代码也可以轻而易举的实现九九乘法表。

    上述举例两种类型的代码实现。不难发现其实双层循环的意思就是先执行一次外层循环,然后在进行内层循环,内层循环结束之后,在进行第二次的外层循环,然后内层循环继续执行到结束之后在开始进行下一次的外层循环,以此内推,这就是双层循环的本质了。

    下面我们会通过一系列的例子来让带火们感受一下双层循环的快乐。

    例题1: 通过代码实现矩形。(可自由定义层数)

    #!/bin/bash/
    read -p "请输入矩形的长:" length
    read -p "请输入矩形的宽:" weigth
    for((i=0; i<weigth; i++))
    {
            for((j=0; j<length; j++))
            {
                    echo -n "*"
            }
    echo ""
    }
    

    在这里插入图片描述

    在这里插入图片描述

    例题2: 通过代码实现直角三角形。(可自由定义层数)

    #!/bin/bash/
    read -p "请输入三角形的高度:" length
    for ((i=0; i<length; i++ ))
    {
            for ((j=0; j<=i; j++))
            {
                    echo -n  "*"
            }
    echo ""
    }
    

    在这里插入图片描述
    在这里插入图片描述
    例题3: 通过代码实现等腰三角形。(可自由定义层数)

    #!/bin/bash/
    read -p "请输入您需要实现的行数:" line
    for ((i=1; i<=line; i++))
    do
            for((j=line-1; j>=i; j--))
            do
                    echo -n " "
            done
            k=$[2*i -1]
            for ((n=0; n<k; n++))
            do
                    echo -n "*"
            done
            echo ""
    done
    

    在这里插入图片描述
    在这里插入图片描述
    例题4: 通过代码实现菱形。(可自由定义层数)

    #!/bin/bash/
    read -p "请输入您需要实现的行数:" line
    for ((i=1; i<=line; i++))
    do
            for((j=line-1; j>=i; j--))
            do
                    echo -n " "
            done
            k=$[2*i -1]
            for ((n=0; n<k; n++))
            do
                    echo -n "*"
            done
            echo ""
    done
    for ((i=line-1; i>=1; i--))
    do
            for ((j=line-1; j>=$i; j-- ))
            do
                    echo -n " "
            done
            for ((n=1; n<=2*i-1; n++))
            do
                    echo -n "*"
            done
            echo ""
    done
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • Shell脚本双重循环

    2020-11-08 23:45:43
    Shell里教你画图形
  • shell函数之双重循环

    2022-08-30 14:56:08
    shell 双重循环
  • Shell脚本—双循环与break、continue、exit结束循环循环建立跳出循环循环建立 脚本命令 for (( i=1;i<=5;i++)) do echo "外循环为:$i" for ((j=1;j<=10;j++)) do echo "内循环为:---$j" done ...
  • shell for循环用法总结

    千次阅读 2013-03-22 20:12:52
    关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总 结,感觉很全面,所以就转过来研究研究,嘿嘿… 1、 for((i=1;i 2、在shell中常用的是 for i in $(seq 10) 3、for i in ...
  • 循环语句一级目录二级目录三级目录 一级目录 二级目录 三级目录
  • Shell for 循环嵌套的写法

    万次阅读 2018-05-24 17:39:00
    #!/bin/bash for num in 1 2 3 4 5 do for char in "a b c d e" do echo $num $char done done 如上
  • Linux Shell for循环 案例

    2021-05-17 19:54:18
    第一类:数字性循环-----------------------------for1-1.sh#!/bin/bashfor((i=1;i<=10;i++));doecho $(expr $i \* 3 + 1);done-----------------------------for1-2.sh#!/bin/bashfor i in $(seq 1 10)doecho $...
  • for b in $a1 $a2 $a3 $a4 #以变量作为变量值也为外循环循环次数。read -p "请输入你猜测的价格数目:" INT。echo "恭喜你答对了,实际价格为 $PRICE"echo "本次十进制IP转二进制结果为:$d"echo "你总共猜测了 $...
  • 不合格" fi for循环:遍历所有的变量 格式: for 变量名 in 列表 do 命令序列 done 例: 例:根据IP地址检查主机情况 vim ping.txt 192.168.6.10 192.168.6.20 192.168.6.30 vim chk.sh #! /bin/bash a=$(cat /root/...
  • break:在for循环使用break,则跳出这个循环,循环命令结束 continue: 使用后,在当前循环终止命令,直接进入下个循环 语法 break [N]:提前结束第N层整个循环,最内层为第1层 n 表示跳出循环的层数,如果省略 n,...
  • 使用awk:awk -F' ' 'NR == FNR { a[$1] = a[$1] $2 ORS } { t = $0; sub(/[[:blank:]]+$/, "", t) } t in ... t }' file2 file1或更安全,即使数据(在第二列)具有双重空间:awk 'BEGIN { FS = OFS = " " } NR == FN...
  • 使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,...即在一个for循环内部再加上一个for循环。也可以通过seq来循环列出数据。exit 用于退出脚本进程。将for循环写入脚本;.........
  • 删除整个数组 在数组中追加元素 方法有四种 这里只演示一种 二、数组的遍历和传参 1 遍历(for循环) 数组遍历就是通过脚本来循环一个数组 shell代码 2.向函数传递数组参数 在将数组变量作为函数参数,函数只会取...
  • for双重循环

    2021-12-26 19:38:33
    文章目录for双重循环continue用法矩形生成方法空心矩形生成方法直角三角形等腰三角形 for双重循环 这里举个例子好方便大家理解 看下面这个脚本 可以看到在外循环的里面再套一层循环,好像套娃一样 执行看看效果...
  • 双重for循环的写法 for ((i=1; i<=9; i++)) do for ((k=1; k<=$i; k++)) do c=$[ $i * $k ] echo -n -e "$i*$k=$c\t" done echo "" done 双重while循环的写法 #!/bin/bash a=1 while [ $a -le 9 ]...
  • 【代码】shell脚本--------双重循环
  • echo和双重for循环
  • 文章目录for循环while循环 for循环 读取不同的变量值,用来逐个执行同一组命令。for循环可实现遍历,即把集合中的元素逐个取一遍,执行命令;也可实现指定次数循环。 语句结构 for 变量名 in 取值列表 do 命令序列 ...
  • for语句循环 遍历的过程:把文本中所有的内容都执行一遍 for 变量名 in 取值列表 do 命令序列(命令行) ...空格 tab键 换行,去取for循环去遍历的列表 每一次遍历去执行一次do的操作 格式: i+=2 i=i+2 ...
  • for循环:指定次数循环 遍历 :将集合当中每一个元素都读取一遍 读取不同的变量值,用来逐个执行同一组命令 语法先写for ,每一个都要加done;变量名从取值列表中去拿 结构形式:遍历集合 for 变量名 in 取值列表 do ...
  • shell——双重循环

    2020-11-11 10:58:05
    转义字符的含义 echo -n:不换行输出 -e:支持反斜线控制的字符转换 转义: \a 发出警告声; \b 删除前一个字符; \c 最后不加上换行符号; \f 换行但光标仍旧停留在原来的位置;...for ((i=1;i<
  • 目录 1、双层循环中的基本思路 2、exit、break、continue 2.1 exit 2.2break 2.3continue ...外层循环每执行一次,内层循环都要全部执行完毕后,下一次外层循环才能再执行 #!/bin/bash #外层循环
  • 学习for循环语句可以很好的解决类似问题。 文章目录Shell编程之循环语句一、for语句的结构从文件中取值求和二、while语句的结构三、until语句的结构四、echo扩展(转义符)双重循环breakcontinue 一、for语句的结构 ...
  • Shell脚本 - for循环for语句的结构 for语句的结构 读取不同的变量值,用来逐个遍历 for 变量名 in 取值列表 do 命令序列 done 举例:输出1到10的数字 for i in {1..10} do echo $i done 仅用于数值的操作 $(seq...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,385
精华内容 954
关键字:

shell双重for循环