1. 程式人生 > >SHELL訓練營--day6__shell指令碼(2)

SHELL訓練營--day6__shell指令碼(2)

case判斷

case語句為多選擇語句。
格式如下:
case 值 in
模式1)
command1
;;
模式2)
command1
;;
esac
取值後面必須為單詞in,每一模式必須以右括號結束。取值可以為變數或常數。
匹配發現取值符合某一模式後,其間所有命令開始執行直至 ;;。
取值檢測匹配的每一個模式。一旦模式匹配,則執行完匹配模式相應命令後不繼續其他模式。
如果沒有合適的匹配模式,需用星號 * 捕獲該值,再執行後面的命令。

for 迴圈

for迴圈一般用於 從 字串中按 空格或換行符 分隔出來的對像,進行迭代 處理。
格式 如下:

    for var in item1 item2 ... itemN
    do
         command
    done

單行格式:for var in item1 item2 ... itemN; do command1; command2… done;
for也可用 for (( ; ; )) 作為條件。 雙括號
列舉一些常用示例:
1、 for((i=1;i<=10;i++));do echo $(expr $i * 4);done
2、在shell中常用的是 for i in $(seq 10)
3、for i in ls
4、for i in ${arr[@]}
5、for i in $ ; do
6、for File in /proc/sys/net/ipv4/conf/
/accept_redirects; do
7、for i in f1 f2 f3 ;do
8、for i in .txt
9、for i in $(ls

.txt)
for in語句與`和$( )合用,利用 `或$( )的將多行合為一行的缺陷,實際是合為一個字串陣列
10、LIST="rootfs usr data data2"
for d in $LIST; do
用for in語句自動對字串按空格遍歷的特性,對多個目錄遍歷
11、for i in {1..10}
12、for i in stringchar {1..10}