linux之循环
script中有三種循環,也可以分成兩類循環,分別是? while? 循環和 for? 循環。
1、while 循環
while循環中有分為兩種循環,分別是whiel do done和until do done兩種
while [ condition ] #condition左右兩側有空格 do #循環開始程序段 done當condion 滿足條件時,即是為真實循環繼續,條件不滿足時跳出循環
until [ condition ] do 程序段 doneuntil do done的方式與while的方式正好相反,當condition條件成立時,跳出循環,否則持續進行
#!/bin/bash #program: # This program shows "Hello World!" in your screen #History: #205/08/3 rhx First Release PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATHs=0 i=1 while [ "$i" != "100" ] do i=$(($i+1))s=$(($s+$i)) done echo "The result of '1+2+3+...+100' is --> $s"注意:數值運算上,var=$((運算內容))
前100個數求和:
2、for循環
for var in con1 con2 con3 ... do 程序段 done #!/bin/bash #program: # This program shows "Hello World!" in your screen #History: #205/08/3 rhx First Release PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATHs=0 i=0 for i in $(seq 1 100) do i=$(($i+1))s=$(($s+$i)) done echo "The result of '1+2+3+...+100' is --> $s"注意:這里的 (seq 1 100) 表示sequence序列
for 循環對數值的處理
內層括號條件左右兩側沒有必須要求有空格,但是書寫腳本的時候盡量左右兩側加上空格
for (( initialvalue; limitvalue;step )) do 程序段 done #!/bin/bash #program: # This program shows "Hello World!" in your screen #History: #205/08/3 rhx First Release PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATHnu=100 i=0 for (( i=1;i<=$nu;i=i+1)) do s=$(($s+$i)) done echo "The result of '1+2+3+...+100' is --> $s"3、shell追蹤與調試
shell在執行之前,最擔心的是出現語法錯誤,如何調試呢?
[root @loacalhost ~]#sh [-nvx] scripts.sh參數解析:
-n? 不執行script,僅僅檢查語法的問題
-v? ?在執行script之前,先將script的內容輸出到屏幕上
-x? ?將使用到的script內容顯示到屏幕上,這個是很有的參數
[root @loacalhost ~]#sh [-nvx] scripts.sh總結
- 上一篇: linux之判断式
- 下一篇: linux之账号管理