1. 程式人生 > >Shell中的迴圈語句for、while、until

Shell中的迴圈語句for、while、until

在程式語言中,迴圈語句是最基本的語法之一,在Shell(這裡是Bash)中也不例外。

這裡包括for/while/until迴圈,以及變數自增的語法例項。

Shell(以Bash為例)中的迴圈語句一般有for、while、until這幾種。

一、for迴圈語句

例項1.1 最基本的for迴圈: (傳統的形式,for var in …)

複製程式碼 程式碼如下:
#!/bin/bash
for x in one two three four
do
echo number $x
done
注:”for” 迴圈總是接收 “in” 語句之後的某種型別的字列表。在本例中,指定了四個英語單詞,但是字列表也可以引用磁碟上的檔案,甚至檔案萬用字元。
例項1.2 對目錄中的檔案做for迴圈
複製程式碼
程式碼如下:
#!/bin/bash
for x in /var/log/*
do
#echo "$x is a file living in /var/log"
echo $(basename $x) is a file living in /var/log
done
注:這個$x獲得的是絕對路徑檔名;可以使用 “basename” 可執行程式來除去前面的路徑資訊。如果只引用當前工作目錄中的檔案(例如,如果輸入 “for x in *”),則產生的檔案列表將沒有路徑資訊的字首。
例項1.3 對位置引數做for迴圈
複製程式碼 程式碼如下:
#!/bin/bash
for thing in "[email protected]
"
do
echo you typed ${thing}.
done
例項1.4 for迴圈中用seq產生迴圈次數,加上C語言形式的for迴圈語句
複製程式碼 程式碼如下:
#!/bin/bash
echo "for: Traditional form: for var in ..."
for j in $(seq 1 5)
do
echo $j
done

echo "for: C language form: for (( exp1; exp2; exp3 ))"

for (( i=1; i<=5; i++ ))
do
echo "i=$i"
done
注:對於固定次數的迴圈,可以通過seq命令來實現,就不需要變數的自增了;這裡的C語言for迴圈風格是挺熟悉的吧。

二、while迴圈語句


例項2.1 迴圈輸出1到10的數字

 程式碼如下:
#!/bin/bash
myvar=1
while [ $myvar -le 10 ]
do
echo $myvar
myvar=$(( $myvar + 1 ))
done

注:只要特定條件為真,”while” 語句就會執行;

-eq 等於;

-ne 不等於;

-gt 大於;

-ge 大於等於;

-lt 小於;

-le 小於等於;

若while無限次迴圈,通常有幾種寫法:

  1. while [ 1 -eq 1 ] 
  2. or
  3. while true
  4. or
  5. while ((1))
  6. or
  7. while [[ 1 ]]
  8. or 
  9. while :   

三、until迴圈語句

例項3.1 迴圈輸出1到10的數字
“Until” 語句提供了與 “while” 語句相反的功能:只要特定條件為假,它們就重複。下面是一個與前面的 “while” 迴圈具有同等功能的 “until” 迴圈。

程式碼如下:
#!/bin/bash
myvar=1
until [ $myvar -gt 10 ]
do
echo $myvar
myvar=$(( $myvar + 1 ))
done Linux Shell中寫迴圈時,常常要用到變數的自增,現在總結一下整型變數自增的方法。
我所知道的,bash中,變數自增,目前有五種方法:
1. i=`expr $i + 1`;
2. let i+=1;
3. ((i++));
4. i=$[$i+1];
5. i=$(( $i + 1 ))
可以實踐一下,簡單的例項如下:
複製程式碼 程式碼如下:
#!/bin/bash
i=0;
while [ $i -lt 4 ];
do
echo $i;
i=`expr $i + 1`;
# let i+=1;
# ((i++));
# i=$[$i+1];
# i=$(( $i + 1 ))
done

相關推薦

MySQL--儲存過程的迴圈語句程式碼筆記--whilerepeat和loop

mysql> delimiter $$ mysql> create table testB -> ( -> id int(6) not null -> ) $$ Query OK, 0 rows affected (0.86 sec) mysq

基礎篇-python迴圈語句forwhile習題練習

今天習題: 習題一: 1 用while語句的2種方法輸出數字:1到10 (1) x = 1 while x <= 10:     print(x)     x += 1 (2) word = [1,2,3,4,5,6,7,8,9,10]

“全棧2019”Java第二十七章:流程控制語句迴圈語句for

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第二十七章:流程控制語句中迴圈語句for 下一章 “全棧2019”Java第二十八章:陣列詳

Shell迴圈語句forwhileuntil

在程式語言中,迴圈語句是最基本的語法之一,在Shell(這裡是Bash)中也不例外。 這裡包括for/while/until迴圈,以及變數自增的語法例項。 Shell(以Bash為例)中的迴圈語句一般有for、while、until這幾種。 一、for迴圈語句例項1.1 最

shell指令碼下的迴圈語句forwhileuntil

在shell 指令碼下的for迴圈語句 第一種格式: for curvar in list do statements done 對於list中的每一個值都要執行一次statments時應利用這種格式,對每次迴圈都是把list中的當前值賦值給變數cur

Shell 腳本應用(forwhilecase語句應用)

passwd bre 更改 -- ... 分隔 空格 條件 重復 1、for :讀取不同的變量值,逐個執行同一組命令,直到取值完畢退出,變量值以空格分隔語法: for 變量值in 取值列表do命令done2、while :重復測試某個條件,成立則執行,進入下一個循環,直

shell腳本應用(三)forwhilecase語句

姓名 std proc pgrep 符號 prefix dfa 先生 let 前言:當面對各種列表重復任務時,使用if語句已經難以滿足要求,而順序編寫全部代碼更是顯得異常繁瑣,困難重重。使用循環、分支等其他程序控制結構,從而能夠輕松完成更加復雜、強大的功能。1、使用for循

Shell腳本的ifcaseforwhileuntil

退出狀態 color 支持 -o 二次 語句 詳解 添加 希望 if條件測試語句 if-then-fi if條件測試語句中會運行if後面的那個命令(判斷式)。 如果該命令的退出狀態碼是0,位於then部分的命令才會被執行。

oracle三種迴圈(ForWhileLoop)案例

1.ORACLE中的FOR迴圈用法(九九乘法表) 1 declare 2 i int:=0; 3 j int:=0; 4 begin 5 for i in 1..9 loop 6 for j in 1..i loop 7 Dbms_Output.p

迴圈語句for whiledo while的區別

在程式語言中我們經常會用到迴圈語句,迴圈語句常用的有三種,for 、while、do while,那麼我們在用的時候應該如擇用哪一個呢? 我們以對一個數字n,求1+2+3+...+n為例,做以下實驗,分別用三個語句來實現它。 1、for語句 我們定義一個變數tmp,tmp儲

IC數字前端設計開發22 (shell迴圈forwhileuntil——詳解)

來自:http://blog.51cto.com/12105235/2090749     迴圈執行 :將某程式碼段重複執行多次; 重複執行多少次: 迴圈次數事先已知 ;迴圈次數事先未知 ;有進入條件和退出條件。 三種迴圈體:for、while、until。

【Java學習】forwhiledo...while迴圈語句的學習,斐波那契數列例項。

for迴圈: 先判斷再迴圈,適用於迴圈次數已知。 for迴圈語法:for(表示式1;表示式2;表示式3){ 語句; //迴圈體 } 表示式1、3:任意表達式語句或空語句 表示式2:必須為布林型常量、變數或表示式 執行過程: 例項:求1+2+3+…+100的

Shell語句 forwhilecaseif輸出重定向grep查詢用法

shell指令碼 Shell就是一個命令列直譯器,它的作用是解釋執行使用者的命令, 使用者輸入一條命令,Shell就解釋執行一條,這種方式稱為互動式(Interactive)。 Shell還有一種執行命令的方式稱為批處理(Batch),使用者事先寫一 個Shell指令碼(S

shell淺談之三forwhileuntil迴圈

一、簡介 Shell程式設計中迴圈命令用於特定條件下決定某些語句重複執行的控制方式,有三種常用的迴圈語句:for、while和until。while迴圈和for迴圈屬於“當型迴圈”,而until屬於“直到型迴圈”。迴圈控制符:break和continue控制流程轉向。

Java基礎知識-迴圈語句的使用介紹(forwhiledo-while

今天給大家介紹一下Java中迴圈語句的使用用法和每種迴圈語句的使用場景。首先是最經常使用的for語句,下面看看for語句的結構:for 語句的基本結構如下所示:for(初始化表示式;判斷表示式;遞增(遞

Linux——forwhileifcase四大shell語句簡單舉例

一、三個指令碼退出語句 Exit 結束指令碼,整體退出 Break 允許跳出所有迴圈(終止執行後面的所有迴圈) Continue 提前結束當前迴圈,進入下一個迴圈 為了更清楚的瞭解這幾個的區別進行以下實驗: root

46求1+2+3+...+n,要求不能使用乘除法forwhileifelseswitchcase等關鍵字及條件判斷語句(A?B:C)。

closed else while spl 判斷語句 stat 條件 執行 ret 思路:循環或者遞歸都有個結束條件和執行條件。用&&短路與代替。 //短路與&&;就是只有前一個條件滿足才可以去判斷第二個條件。 //遞歸的出口

python語法基礎及ifwhilefor語句介紹

python代碼註釋:單行註釋以#開頭,右邊當做註釋,一般註意下一行內容,方便維護記憶。多行註釋以一對三單引號或一對三雙引號 python2不管中文是代碼還是註釋都會報錯,而python就不會,解決辦法如下:#coding=utf-8或#-*- coding:utf-8 -*-(python推薦的) 雖然也是

Python流程控制for whilefrange循環和嵌套詞匯continuebrec

python 流程控制 循環 嵌套 本章 內容 含有 python的流程控制循環使用語法 For while 嵌套 語法 Contitune breck循環語法Python中 循環語法有 for 、 while他們都是實現 一個 同一個目的,當有一段程序,我希望反復執行的時候,就會用到

shell循環:forwhileuntil——詳解

循環 for while until 循環執行 :將某代碼段重復運行多次; 重復運行多少次: 循環次數事先已知 ;循環次數事先未知 ;有進入條件和退出條件。三種循環體:for、while、until。再循環前前介紹步進,在循環中經常用到步進。步進顯示1-10[root@centos6mini