Shell回圈陳述句與函式
目錄
- Shell回圈陳述句與函式
- 一、for陳述句的結構
- 二、IFS欄位分隔符
- 三、while陳述句的結構
- 四、until陳述句結構
- 五、echo
- 六、break跳出單個回圈
- 七、contiune中止某次回圈中的命令,但不會完全中止整個命令
一、for陳述句的結構
讀取不同的變數值,用來逐個執行同一個組命令
格式;
for 變數名 in 取值串列
do
命令序列
done
例如:
for i in {1…10}——每次遞增1 for i in {1…10…2}——每次遞增2
for i in $(seq 1 10) for i in $(seq 1 2 10) #seq指的是連續的
for ((i=1;i<=10;i++)) for ((i=1;i<=10;i+=2))
do
? echo $i
done
for ((i=1;i<=10;i++));do echo $i;done



實體:計算從1到100多有整數和
#!/bin/bash
sum=o
for ((i=1;i<=100;i++))
do
sum= [ [ [sum+ i ] d o n e e c h o " i] done echo " i]doneecho"sum"
二、IFS欄位分隔符
默認包含空格,制表符,換行符
set |grep IFS

建議欄位分隔符的環境變數不要改,如果要改的話做下備份
IFS.OLD=$IFS
IFS=$’\n’
IFS=$IFS.OLD
三、while陳述句的結構
重復測驗某個條件,只要條件成立則反復執行
while 條件測驗操作
do
? 命令序列
done
實體:計算從1到100多有整數和
#!/bin/bash
i=0
while [ i ? l e 100 ] d o s u m = i -le 100 ] do sum= i?le100]dosum=[ s u m + sum+ sum+i]
let i++
done
echo “$sum”
四、until陳述句結構
重復測驗某個條件,只要條件不成立則反復執行
until 條件測驗操作
do
? 命令序列
done
五、echo
echo -n 表示不換行輸出
echo -e 輸出轉義符,將轉義后的內容輸出到螢屏上
常用的轉義字符如下
\b:轉義后相當于按退格鍵(backspace),但前提是\b后面存在字符;\b表示洗掉前一個字符,\b\b表示洗掉前兩個字符
\b:
\b\b:
\c:不換行輸出,在\c后面不存在字符的情況下,作用相當于echo -n;但是當\c后面的字符將不會被輸出
\c無字符:
\c有字符:
\n:換行,被輸出的字符從\n出開始另起一行

\f:換行,但是換行后的新行的開頭位置連接著上一行的行尾

\v:與\f相同

\t:轉以后表示插入tab,即橫向制表符

\r:游標移至行首,但不換行,相當于使用\r以后的字符覆寫\r之前同等長度的字符,但是當\r后面不存在任何字符時,\r前面的字符不會被覆寫

\ \:表示插入\本身

六、break跳出單個回圈
for ((a=1;a<=5;a++))
do
? ehco “outer loop: $a”
? for ((b=1;b<=50;b++))
? do
? if [ $b -eq 5 ]
? then
? break
? fi
? echo “inter loop: $b”
? done
done
七、contiune中止某次回圈中的命令,但不會完全中止整個命令
for ((a=1;a<=15;a++))
do
? if [ $a -gt 5 ] && [ $a -lt 10 ]
? then
? continue
? fi
? echo “current value:$a”
done
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/237994.html
標籤:其他
