shell程式設計while

2021-09-09 02:08:27 字數 1805 閱讀 7100

指令碼程式設計:

順序結構

選擇結構

ifcase

迴圈結構

forwhile

until

while迴圈:適用於迴圈次數未知的場景,要有退出條件

語法:while condition; do

statement

...done

計算100以內所有正整數的和

#!/bin/bash

declare -i i=1

declare -i sum=0

while [ $i -le 100 ]; do

let sum+=$i

let i++

done

echo $sum

練習:轉換使用者輸入的字元為大寫,除了quit:

#!/bin/bash

#read -p "input something: " string

while [ $string != 'quit' ]; do

echo $string | tr 'a-z' 'a-z'

read -p "input something: " string

done

練習:每隔5秒檢視hadoop使用者是否登入,如果登入,顯示其登入並退出;否則,顯示當前時間,並說明hadoop尚未登入:

#!/bin/bash

#who | grep "hadoop" &> /dev/null

retval=$?

while [ $retval -ne 0 ]; do

echo "`date`, hadoop is not log."

sleep 5

who | grep "hadoop" &> /dev/null

retval=$?

done

echo "hadoop is logged in."

寫乙個指令碼:

1) 顯示乙個選單給使用者:

d|d) show disk usages.

m|m) show memory usages.

s|s) show swap usages.

*) quit.

2) 當使用者給定選項後顯示相應的內容;

擴充套件:當使用者選擇完成,顯示相應資訊後,不退出;而讓使用者再一次選擇,再次顯示相應內容;除了使用者使用quit;

#!/bin/bash

#cat << eof

d|d) show disk usages.

m|m) show memory usages.

s|s) show swap usages.

*) quit.

eofread -p "your choice: " choice

while [ $choice != 'quit' ];do

case $choice in

d|d)

echo "disk usage: "

df -ph ;;

m|m)

echo "memory usage: "

free -m | grep "mem" ;;

s|s)

echo "swap usage: "

free -m | grep "swap" ;;

*)echo "unknown.." ;;

esac

read -p "again, your choice: " choice

done

練習:寫乙個指令碼

從鍵盤讓使用者輸入幾個檔案,指令碼能夠將此幾個檔案歸檔壓縮成乙個檔案;

read:

-p 「prompt": 給出提示

Shell指令碼程式設計while迴圈

while 語句 do 執行語句 done接下來將會通過兩個簡單並且經常的使用的例子講解 bin bash i 1while i le 10 do i expr i 1 done echo i其中lele le表示不大於,exp rexpr expr 表示是相加運算 原始檔為 1 192.168.1...

Shell程式設計中的while迴圈

while迴圈是shell指令碼中最簡單的一種迴圈,但條件滿足時,while迴圈就重複執行一組語句,當條件不滿足時,就退出while迴圈。while condition do statements done condition 表示判斷條件,statements表示執行的語句 可以多條 do 和 d...

shell程式設計 while和until迴圈

while迴圈是shell指令碼中最簡單的一種迴圈,當條件滿足時,while重複地執行一組語句 當條件不滿足時,就退出while迴圈。shell while迴圈的用法如下 while condition dostatements donecondition表示判斷條件,statements表示要執行...