日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

birt脚本for循环_Shell脚本应用 – for、while循环语句

發布時間:2025/3/19 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 birt脚本for循环_Shell脚本应用 – for、while循环语句 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、for循環語句

在實際工作中,經常會遇到某項任務需要多次執行的情況,而每次執行時僅僅是處理的對象不一樣,其他命令相同。例如:根據通訊錄中的姓名列表創建系統賬號等情況。

當面對各種列表重復工作任務時,使用if語句已經不能滿足需要了,就需要使用到for語句。

1.for語句結構

使用for循環語句時,需要指定一個變量及可能的取值列表,針對不同的取值重復執行相同的命令序列,知道變量值用完退出循環。

1)for循環語句的語法結構:

for 變量名 in 取值列表

do

命令序列

done

語句結構中,for語句的操作對象為用戶吧指定名稱的變量,并通過in關鍵字為該變量預先設置了一個取值列表,多個取值之間用空格進行分隔。位于do……done之間的命令序列稱為循環體,其中的執行語句需要應用變量以完成相應的任務。

2)for循環語句流程圖

3)for循環語句的使用場景

1. 循環次數未知;

2.完整遍歷整個取值列表。

2.for語句應用示例

要求:

1.根據姓名列表批量創建用戶;

2.用戶的初始密碼是“123456”

實施步驟:

[root@localhost ~]# vim /root/users.txt //新建一個取值列表xiaozhangxiaolixiaowangxiaosun[root@localhost ~]# vim useraddfor.sh //創建批量創建用戶的腳本#!/bin/bashULIST=$(cat /root/users.txt)for UNAME in $ULISTdouseradd $UNAMEecho "123456" | passwd --stdin $UNAME &> /dev/nulldone[root@localhost ~]# sh useraddfor.sh //執行腳本[root@localhost ~]# tail -4 /etc/passwd //驗證效果xiaozhang:x:1001:1001::/home/xiaozhang:/bin/bashxiaoli:x:1002:1002::/home/xiaoli:/bin/bashxiaowang:x:1003:1003::/home/xiaowang:/bin/bashxiaosun:x:1004:1004::/home/xiaosun:/bin/bash

注意:if語句、for語句及其他各種shell腳本語句都是可以嵌套使用的。

二、while循環語句

for循環語句非常適用于列表對象無規律,且列表來源已固定的場合,而對于要求控制循環次數,操作對象按數字順序編號、按特定條件執行重復操作等情況,則更適合使用——while循環語句。

1.while語句的結構

使用while循環語句是,可以根據特定的條件反復執行一個命令序列,知道該條件不再滿足為止。在腳本應用中,應該盡量避免出現死循環的情況,否則后邊的命令操作將無法執行。因此,循環體內的命令序列中應包括修改測試條件的語句,以便在適當的時候使測試條件不再成立,從而結束循環。

1)while循環語句的語法結構

while 條件測試操作

do

命令序列

done

2)while循環語句流程圖

使用while循環語句時,有兩個特殊的條件測試操作。即true(真)和false(假)。使用true作為條件時,表示條件永遠成立,循環體內的命令序列將無限執行下去,除非強制終止腳本(或使用exit語句退出腳本);反之若使用false作為條件,則循環體將不會執行。

3)while循環語句的使用場景

1.循環次數已知;

2.必須有一個可以控制循環變量的語句。

2.while語句應用示例

要求:

批量創建有規律編號的用戶

實施步驟:

[root@localhost ~]# vim useraddwhile.sh#!/bin/bashPREFIX="stu"i=1while[ $i -le 10 ]douseradd ${PREFIX}$iecho "123456" | passwd --stdin ${PREFIX}$i &> /dev/nulllet i++done[root@localhost ~]# sh useraddwhile.sh[root@localhost ~]# tail /etc/passwdstu1:x:1005:1005::/home/stu1:/bin/bashstu2:x:1006:1006::/home/stu2:/bin/bashstu3:x:1007:1007::/home/stu3:/bin/bashstu4:x:1008:1008::/home/stu4:/bin/bashstu5:x:1009:1009::/home/stu5:/bin/bashstu6:x:1010:1010::/home/stu6:/bin/bashstu7:x:1011:1011::/home/stu7:/bin/bashstu8:x:1012:1012::/home/stu8:/bin/bashstu9:x:1013:1013::/home/stu9:/bin/bashstu10:x:1014:1014::/home/stu10:/bin/bash

循環體內部,通過語句“let i++”(等同于i=expr $i + 1)來是變量i的值增加1,一直循環,直到滿足條件為止。

三、case分支語句

1.case語句的結構

1)case語句的語法結構

case 變量值 in

模式1)

命令序列1

;;

模式2)

命令序列2

;;

……

* )

默認命令序列

esac

2)case語句流程圖

使用case分支語句是,幾個值得注意的特點:

Shell腳本應用(三)

3)case語句的使用場景

某個變量存在多種取值,需要對其中的每一種取值分別執行不同的命令序列,這種情況與多分支的if語句非常相似,只不過if語句需要判斷多個不同的條件,而case語句只是判斷一個變量的不同取值。

2.case語句應用實例

[root@localhost ~]# vim hitkey.sh#!/bin/bashread -p "請輸入一個字符,并按Enter鍵確認:" KEYcase "$KEY" in[a-z]|[A-Z])echo "你輸入的是字母 $KEY";;[0-9])echo "你輸入的是數字 $KEY";;*)echo "你輸入的是非法字符 $KEY"esac[root@localhost ~]# sh hitkey.sh請輸入一個字符,并按Enter鍵確認:1你輸入的是數字 1[root@localhost ~]# sh hitkey.sh請輸入一個字符,并按Enter鍵確認:w你輸入的是字母 w[root@localhost ~]# sh hitkey.sh請輸入一個字符,并按Enter鍵確認:@你輸入的是非法字符 @

總結

以上是生活随笔為你收集整理的birt脚本for循环_Shell脚本应用 – for、while循环语句的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。