溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux shell中while循環(huán)是怎樣的

發(fā)布時間:2022-01-26 16:46:33 來源:億速云 閱讀:342 作者:柒染 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)Linux shell中while循環(huán)是怎樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

在shell中while循環(huán)也是一個常用的循環(huán)結(jié)構(gòu),和其他語言的語法有許多類似之處,但是也有個別地方不一樣。

常用格式

格式一

while 條件;

do

 語句

done

格式二 死循環(huán)

while true

do

 語句

done

格式三 死循環(huán)

while :

do

 語句

done

格式四 死循環(huán)

while [ 1 ]

do

 語句

done

格式五 死循環(huán)

while [ 0 ]

do

 語句

done

使用示例

示例一

Bash代碼  Linux shell中while循環(huán)是怎樣的

  1. COUNTER=0

  2. while [ $COUNTER -lt 10 ]; do

  3.  echo The counter is $COUNTER

  4.  let COUNTER=COUNTER+1  

  5. done

[root@jfht ~]# COUNTER=0[root@jfht ~]# while [ COUNTER>   let COUNTER=COUNTER+1> doneThe counter is 0The counter is 1The counter is 2The counter is 3The counter is 4The counter is 5The counter is 6The counter is 7The counter is 8The counter is 9[root@jfht ~]#

這個while循環(huán)改用for循環(huán)更好些

Bash代碼  Linux shell中while循環(huán)是怎樣的

  1. for ((COUNTER=0; COUNTER

  2. do

  3.  echo The counter is $COUNTER

  4. done

[root@jfht ~]# for ((COUNTER=0; COUNTER> do>   echo The counter is $COUNTER> doneThe counter is 0The counter is 1The counter is 2The counter is 3The counter is 4The counter is 5The counter is 6The counter is 7The counter is 8The counter is 9[root@jfht ~]#

示例二

Bash代碼  

  1. while true

  2. do

  3.  date

  4.  sleep 1

  5. done

[root@jfht ~]# while true> do>   date>   sleep 1> done2010年 10月 10日 星期日 16:35:22 CST2010年 10月 10日 星期日 16:35:23 CST2010年 10月 10日 星期日 16:35:24 CST2010年 10月 10日 星期日 16:35:25 CST2010年 10月 10日 星期日 16:35:26 CST2010年 10月 10日 星期日 16:35:27 CSTCtrl+C[root@jfht ~]#

示例三 讀取輸入

Java代碼  Linux shell中while循環(huán)是怎樣的

  1. while read line

  2. do

  3.  echo $line

  4. done

[root@jfht ~]# while read line> do>   echo $line> donehellohelloworldworldCtrl+D[root@jfht ~]#

實例四 處理命令行參數(shù)

文件 while_4.sh

Bash代碼  


#!/bin/sh 
usage() 
{ 
  echo “usage: $0 [-a] [-e ] [-f ] [-h] [-d ] [-s] [-q] [-x]” 
} 
while getopts ae:f:hd:s:qx: option 
do 
    case “${option}” in 
        a) ALARM=”TRUE”;; 
        e) ADMIN=${OPTARG};; 
        d) DOMAIN=${OPTARG};; 
        f) SERVERFILE=$OPTARG;; 
        s) WHOIS_SERVER=$OPTARG;; 
        q) QUIET=”TRUE”;; 
        x) WARNDAYS=$OPTARG;; 
        \?) usage; exit 1;; 
    esac 
done 
echo “ALARM=$ALARM” 
echo “ADMIN=$ADMIN” 
[root@jfht ~]# cat while_4.sh#!/bin/sh
usage(){  echo “usage: $0 [-a] [-e ] [-f ] [-h] [-d ] [-s] [-q] [-x]”}
while getopts ae:f:hd:s:qx: optiondo    case “{OPTARG};;        d) DOMAIN=OPTARG;;        s) WHOIS_SERVER=OPTARG;;        \?) usage; exit 1;;    esacdone
echo “ALARM=ADMIN”
[root@jfht ~]# chmod +x while_4.sh
[root@jfht ~]# ./while_4.shALARM=ADMIN=
[root@jfht ~]# ./while_4.sh -aALARM=TRUEADMIN=
[root@jfht ~]# ./while_4.sh -e hyALARM=ADMIN=hy

看完上述內(nèi)容,你們對Linux shell中while循環(huán)是怎樣的有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI