shell有流程控制語句
linux shell有一套自己的流程控制語句,其中包括條件語句(if),迴圈語句(for,while),選擇語句(case)。下面我將通過例子介紹下,各個語句使用方法。
一、shell條件語句(if用法)
if語句結構[if/then/elif/else/fi]
if 條件測試語句
then
action
[elif 條件
action
else
action
]
fi
shell命令,可以按照分號分割,也可以按照換行符分割。如果想一行寫入多個命令,可以通過“';”分割。
如:
[[email protected] ~]$ a=5;if [[ a -gt 4 ]] ;then echo 'ok';fi;
ok例項:(test.sh)
#!/bin/sh
scores=40;
if [[ $scores -gt 90 ]]; then
echo "very good!";
elif [[ $scores -gt 80 ]]; then
echo "good!";
elif [[ $scores -gt 60 ]]; then
echo "pass!";
else
echo "no pass!";
fi;條件測試有:[[]],[],test 這幾種,注意:[[]] 與變數之間用空格分開。
二、迴圈語句(for,while,until用法):
- for迴圈使用方法(for/do/done)
語法結構:
1.for … in 語句
for 變數 in seq字串
do
action
done
說明:seq字串 只要用空格字元分割,每次for…in 讀取時候,就會按順序將讀到值,給前面的變數。
例項(testfor.sh):
#!/bin/sh
for i in $(seq 10); do
echo $i;
done;seq 10 產生 1 2 3 。。。。10空格分隔字串。
2.for((賦值;條件;運算語句))
for((賦值;條件;運算語句))
do
action
done;
例項(testfor2.sh):
#!/bin/sh
for((i=1;i<=10;i++));do
echo $i;
done;
- while迴圈使用(while/do/done)
while語句結構
while 條件語句
do
action
done;
例項1:
#!/bin/sh
i=10;
while [[ $i -gt 5 ]];do
echo $i;
((i--));
done;執行結果:========================
sh testwhile1.sh
10
9
8
7
6例項2:(迴圈讀取檔案內容:)
#!/bin/sh
while read line;do
echo $line;
done < /etc/hosts;執行結果:===================
sh testwhile2.sh
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 centos5 localhost.localdomain localhost
- until迴圈語句
語法結構:
until 條件
do
action
done
意思是:直到滿足條件,就退出。否則執行action.
例項(testuntil.sh):
#!/bin/sh
a=10;
until [[ $a -lt 0 ]];do
echo $a;
((a—));
done;
結果:
sh testuntil.sh
10
9
8
7
6
5
4
3
2
1
0
三、shell選擇語句(case、select用法)
- case選擇語句使用(case/esac)
語法結構
case $arg in
pattern | sample) # arg in pattern or sample
;;
pattern1) # arg in pattern1
;;
*) #default
;;
esac說明:pattern1 是正則表示式,可以用下面字元:
* 任意字串
? 任意字元
[abc] a, b, 或c三字元其中之一
[a-n] 從a到n的任一字元
| 多重選擇例項:
#!/bin/sh
case $1 in
start | begin)
echo "start something"
;;
stop | end)
echo "stop something"
;;
*)
echo "Ignorant"
;;
esac執行結果:======================
testcase.sh start
start something
- select語句使用方法(產生選單選擇)
語法:
select 變數name in seq變數
do
action
done
例項:
#!/bin/sh
select ch in "begin" "end" "exit"
do
case $ch in
"begin")
echo "start something"
;;
"end")
echo "stop something"
;;
"exit")
echo "exit"
break;
;;
*)
echo "Ignorant"
;;
esac
done;執行結果:
說明:select是迴圈選擇,一般與case語句使用。
以上是shell的流程控制語句,條件,迴圈,選擇。 歡迎討論交流!
相關推薦
shell有流程控制語句
linux shell有一套自己的流程控制語句,其中包括條件語句(if),迴圈語句(for,while),選擇語句(case)。下面我將通過例子介紹下,各個語句使用方法。 一、shell條件語句(if用法) if語句結構[if/then/elif/else/fi]
Linux之shell的流程控制語句
一、if-else分支結構 if語法格式: if 條件 then 邏輯塊(通常都是些命令) fi 寫成一行:適用於終端寫法 If 條件; then 邏輯 ; fi If else語法格式: if 條件 then 邏輯塊(通常都是些命令)
shell 流程控制語句
pan oot 示例 strong 更多 -o 一個 post 文件 一、if 語法格式:if test -d $arg then ... else ... fi 變量測試語句可以用 [ ] 簡化。例:test -d $arg 等價於 [ -d $arg ]。( 註意:"空
1 Linux shell 編程(七):流程控制語句
shell if else Linux 流程控制語句 在shell中如果在終端輸入多個命令,如果以&分隔則將命令放入後臺執行,如果以;分隔,則表示一個命令集合。shell允許使用邏輯操作符&&和||來作為命令分隔符,他們分別時AND和OR. && 如果前
shell腳本(二)--if流程控制語句和for循環語句的使用
系統/運維 Linux shell if語句 for循環語句 理論部分:1、在簡單的腳本中各條語句按順序執行,從而實現自動化的管理,順序單一執行太過機械化,不夠“智能”,難以實現更加靈活的系統任務。例如:批量安裝軟件包100臺機器 50臺已安裝 50臺未安裝2、shell環境根據$?來判斷
shell流程控制語句 case
不常用 多個 流程 shell流程控制 ase 讀取 ext ffffff 提示符 linux的shell前前後後學了好幾遍了奈何記性不好,總是忘了,追主要的原因可能是不常用的原因吧!case開頭 esac結尾下面是結果輸入法不對 輸入的符號就不對,剛開始總錯,後來切換了
shell指令碼:流程控制語句
if/else 命令連線符: 單個分支if條件語句 if[ 條件判斷 ] then <程式> fi 或者 if[ 條件判斷 ]; then <程式> fi 多分支 if[ 條件判斷 ]; then <程式> el
Shell基礎知識4:流程控制語句
1 if 條件測試語句 if條件測試語句可以讓指令碼根據實際情況自動執行相應的命令。 1.1 if語句分類 1、單分支結構。 2、雙分支結構。 3、多分支結構。 1.2 單分支結構 if 條件語句的單分支結構由 if、then、fi 關鍵片語成。 如果
linux Vim編輯器、shell指令碼、流程控制語句和計劃任務
本章主要講解shell指令碼,vim編輯器 1. 強制儲存退出 wq! 2. 查詢主機名稱 hostname 3. 在vim中常用的命令 dd刪除游標所在行;5dd刪除自游標所在行開始往下數五行;yy複製游標所在行;5yy複製自游標所在行開始往下數5行內容;n顯示搜尋命令定位到下一個字串
學習筆記 shell流程控制語句 if 和 for
if條件測試語句 使用單分支的if條件語句來判斷/media/cdrom檔案是否存在,若存在就結束條件判斷和整個Shell指令碼,反之則去建立這個目錄: [[email protected] ~]# vim 1.sh #!/bin/bash DIR="
Shell流程控制語句
在Linux Shell程式設計中,if、for、while、case等條件流程控制語句用的非常多,把這些學好,對提升指令碼的功力有非常大的幫助。下面將逐個來講解具體的用法: If條件判斷語句 I
shell--條件測試語句和流程控制語句的使用
1. test 判斷 test $num1 == $num2 #判斷是否相等 echo $? test $num != $num2 test $str #判斷字串是否非空,非空結果為0 te
linux中的shell script 的流程控制語句
一 :條件判斷: if [ 判斷條件 ];then 當條件成立時執行的語句,其實跟程式語言裡的差不多! fi 或者多重條件判斷 if [ 判斷條件1 ];then 滿足1,則執行這裡的指令 elif [ 判斷條件2 ];then . . . . else 當上面所
Oracle流程控制語句
控制 space reverse logs 2.3 1.2 流程控制語句 case ora 1.選擇語句 1.1 IF...THEN...END IF語句 DECLARE MY_AGE INT; IF MY_AGE IS NULL THEN DBMS
java基礎:流程控制語句(選擇結構if語句)
這樣的 執行 錯誤數據 一點 選擇 邏輯運算符 月份 等級 pri (1)順序結構 從上往下,依次執行 Demo:class ShunXuJieGouDemo { public static void main(String[] args) { System.o
流程控制語句
基礎 num cor 支持 流程 編寫 ons 執行 結果 一、條件語句 條件語句就是指通過判斷得到的結果,來決定是執行還是跳過指定的代碼塊。 1、if 語句 if 語句是條件判斷語句,也是最基本的流程控制語句。 例如: var num = 5;if(num < 10
js流程控制語句
var if else script 流程控制 寫法 break def 嵌套 default 條件語句 條件語句通過判斷得到的結果,來決定是執?還是跳過指定的代碼塊 JavaScript 提供了兩種條件語句: if else switch case if 語句 代碼實現
pl/sql流程控制語句if else條件選擇語句
結構 選擇 表達 滿足 if條件 條件語句 lin output 選擇語句 if條件語句。 if條件語句的基本結構 IF <布爾表達式> THEN PL/SQL 和 SQL語句 END IF; 或 IF <布爾表達式> THEN PL/SQL 和 S
Shell 腳本控制語句
cond ase div 控制語句 pattern att mman class clas 1、if 語句 if condition1;then command1 elif condition2;then command2 else comman
特殊流程特殊流程控制語句控制語句
tar .com -s 別名 goto 宋體 跳出循環 需要 程序 Break 常用於switch和循環裏面,如果是用在switch裏面,代表跳出當前的case,如果是用在循環裏面,代表跳出循環。 但是。PHP裏面的break比C語言,JS的break還要強大 PH