下载麻将游戏免费|手机麻将游戏

loulanhouzhu的博客

飛來科技  發布時間:2019-08-23 17:01:48

本文關鍵詞:shell腳本while語句

shell腳本while語句_shell腳本if else語句_shell腳本中的if語句

在編程語言中,循環比較常用。在bash中,bash也是類似的關鍵字,構建這樣的循環:

#!/bin/bash

# 顯示一系列數字
count=1
while [ $count -le 6 ]; do
    echo $count
    count=$((count + 1))
done
echo "finished"

shell腳本if else語句_shell腳本while語句_shell腳本中的if語句

執行腳本:./while-count.sh,結果如下:

[fbap:/home/fbap/usertmp]>./while-count.sh
1
2
3
4
5
6
finished

shell腳本while語句_shell腳本中的if語句_shell腳本if else語句

,再判定是否依照循環條件,符合時執行循環體,再處理初始變量shell腳本while語句,之后判定是否合乎循環條件,符合時執行循環體,直到不符合循環條件跳出循環。until命令和while命令類似,while能實現的腳本until同樣也可以推動,但區別是until循環的退出狀態是不為0,退出狀態是為0(與while剛好相反),即whie循環在條件為真時繼續執行循環而until則在條件為假時執行循環。在循環語句塊中控制循環退出有兩種方法, 其一是直接或間接地改變'判斷條件'的值, 使之為'false',其二是在循環塊中執行'break' 語句直接退出循環.。

下面有一個使用while循環變得高級的一個例子:

shell腳本while語句_shell腳本中的if語句_shell腳本if else語句

#!/bin/bash
#
# 一個菜單驅動的展示系統信息的腳本
#
# 展示結果的延遲時間(單位/秒)
DELAY=3
while [[ "$REPLY" != "0" ]]; do
    clear
    cat <<EOF
----------------------------
請選擇:
    1.顯示系統信息
    2.顯示磁盤使用情況
    3.顯示用戶空間使用情況
    0.退出
----------------------------
EOF
    read -p "請輸入你的選擇[0-3]:"
    if [[ $REPLY =~ ^[0-3]$ ]];then
        # 顯示系統使用情況
        if [[ "$REPLY" = "1" ]];then
            echo
            echo "主機名:${HOSTNAME}"
            uptime
            sleep $DELAY
        fi
        # 顯示磁盤使用情況
        if [[ "$REPLY" = "2" ]];then
            df -h
            sleep $DELAY
        fi
        # 顯示用戶空間使用情況
        if [[ "$REPLY" = "3" ]];then
            # 判定有效用戶是否為root
            if [[ $(id -u) -eq 0 ]];then
                echo
                echo "(所有用戶)用戶空間使用情況:"
                du -sh /home/*
            else
                echo
                echo "(${USER})用戶空間使用情況:"
                du -sh $HOME
            fi
            sleep $DELAY
        fi
    else
        echo "非法輸入"
        sleep $DELAY
    fi
done
echo "腳本退出"

執行腳本:./read-menu.sh,輸出:

shell腳本while語句_shell腳本中的if語句_shell腳本if else語句

----------------------------
請選擇:
    1.顯示系統信息
    2.顯示磁盤使用情況
    3.顯示用戶空間使用情況
    0.退出
----------------------------
請輸入你的選擇[0-3]:1
主機名:localhost.localdomain
 17:28:28 up 333 days, 44 min, 10 users,  load average: 1.04, 1.06, 1.17

在下面的舉例中,將菜單封裝在while循環內,程序就可以在客戶每天選取后重復展示菜單項。只要REPLY值不為0shell腳本while語句,重復循環,展示菜單項,給客戶又一次的選取機會。而在每次動作結束時,系統執行sleep命令使程序暫停幾秒,讓用戶發現選擇執行的結果,隨后清空屏幕顯示并繼續顯示菜單。

本文來自互聯網,由機器人自動采編,文章內容不代表本站觀點,請讀者自行辨別信息真偽,如有發現不適內容,請及時聯系站長處理。

    相關閱讀
    下载麻将游戏免费 pk106码倍投方案 集成开发平台 新疆时时开奖号96 安徽时时预测 mg摆脱70万大奖 反倍投方案 手机怎么玩快速时时 PT游戏娱乐平台 重庆市吋彩开奖有规律 欢乐生肖计划免费版