當前位置:首頁 » 操作系統 » linuxfor跳出循環

linuxfor跳出循環

發布時間: 2022-11-07 07:47:55

linux Shell:Shell循環語句

摘要: Linux , Shell

Shell中常用循環有 for , while

for循環只能用於 固定次數 的循環,因此不能無限循環和用於一些在後台守護進程一直運行的程序,語法語句如下

也可以寫成一行,用 ; 分隔

取值列表內元素以空格隔開,如果元素帶有空格則用引號包裹起來,例子如下

輸出如下,可見循環到最後退出循環,引用變數依舊是最後一個取值列表元素

一行的寫法

Shell的for循環也可以採用C語言的寫法,注意是 雙括弧 ,用 分號; 間隔

一個簡單例子

while循環語句結合條件測試使用,語法如下

舉一個例子

在循環中使用條件測試實現復雜的邏輯,例如

也可以使用&&,||一行完成,省去if,fi

Shell的continue,break語句和Python一樣,例子如下
break語句下輸出4

continue語句下輸出4 6 7 8 9 10

常見結合使用的循環體有 序列 , 數組 , 命令行傳參 , 文件目錄和文件

序列通過 seq 命令或者 {begin..end..step} 符號進行定義:

結合for循環使用案例

在Shell中使用小括弧 () 定義數組,數組遍歷使用 [@] 符號,防止元素有空格用雙引號包起來,,例子如下

命令行傳參遍歷使用固定符號 $@ ,如果參數中有空格,用雙引號括起來,例子如下

文件遍歷使用 ls 命令,可以指定目錄,以及通配符匹配

一個雙重循環實現,注意 expr表達式中乘號要加轉移符

(2)將某目錄下大小大於閾值的文件移動到另一個文件
遍歷循環一個目錄,使用awk語法獲得文件大小,將100m以上的文件移動到另一個文件夾

(2)指定開始日期和結束日期完成一個跑批任務
指定一個開始時間和結束時間,while從開始日期一直自增到結束日期循環結束,通過 date -d 񟭕-01-01 1day' +%Y-%m-%d 自增一天

⑵ linux for循環中使用cd命令會break循環嗎

[root@devstack src]# bash a.sh
debug
[root@devstack src]# bash -x a.sh
++ ls
+ for dir in '`ls`'
+ '[' -d a.sh ']'
+ for dir in '`ls`'
+ '[' -d debug ']'
+ echo debug
debug
+ cd debug
+ for dir in '`ls`'
+ '[' -d devstack ']'
+ for dir in '`ls`'
+ '[' -d devstack.tar ']'
+ for dir in '`ls`'
+ '[' -d kernels ']'
[root@devstack src]#
[root@devstack src]# ls
a.sh debug devstack devstack.tar kernels
明白了嗎。 bash -x 可以跟蹤shell 例如說 在debug 目錄裡面 沒有 的devstack kernels 目錄 不存在,在for 裡面第一行就取道了當前目錄的目錄。但是在第一個循環裡面進到目錄裡面了。所以下面的循環會繼續 去匹配 上一級目錄的目錄。你什麼需求?

⑶ Linux怎麼用for循環實現從一到200$

for循環的常見三種用法
(1)Ubuntu系統在6.10版本後默認使用dash環境;
(2)而CentOS系統常見默認使用的是bash環境;
(3)二者存在一定的區別,部分for循環方式在dash環境下不兼容。

⑷ Linux for 命令中看到 i=1;i<=10;i++ , i++是什麼意思啊

i=1;i<=10;i++
第一個賦值 i=1,
第二個循環條件i<=10。
第三個,每執行一輪i+1 ,直到不滿足循環條件i<=10
跳出循環

⑸ linux的for循環的寫法

Linux下使用while…;do done語句來寫循環語句,其實也非常簡單,比如說,我們要寫一個循環5次的命令。

可以這樣來寫:

I=1
While [$I<=5];do
語句…
Done
I=$(($I+1))

其中,I=$(($I+1))說明我們這個循環每次遞增的數為1,也就是在I的基礎上加1,這樣就形成了循環了。

====================================
腳本1:
#!/bin/sh
for loop in 1 2 3 4 5
do
echo $loop
done

腳本2:
#!/bin/sh
for loop in "orange red blue grey"
do
echo $loop
done

有了""就是字元串,只循環一次
第二個循環的循環變數會依次為orange red blue grey中的每一個。

⑹ Linux編程問題 利用for循環將當前目錄下的.c文件移到指定的目錄下,並按文件大小排序,顯示移

解:

dir=/home/hzxyjsj 

for f in *.c 

do  

mv $f  $dir 

done 

ls  -S  $dir 

註:寫法多樣,這只是其中一種寫法。

(6)linuxfor跳出循環擴展閱讀:

for循環小括弧里第一個「;」號前為一個為不參與循環的單次表達式,其可作為某一變數的初始化賦值語句, 用來給循環控制變數賦初值; 也可用來計算其它與for循環無關但先於循環部分處理的一個表達式。

執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括弧{}可以省略,執行完中間循環體後接著執行末尾循環體。

⑺ linux shell腳本:while循環中調用另一個腳本遇到exit為什麼會跳出循環,且繼續執行循環後的程序

exit是在被調用的腳本裡面,肯定會退出被調用的腳本了。如果不想繼續執行while循環後面的程序可以在do後面的條件上加上break

⑻ Linux shell編程 ---- 循環結構

linux
shell編程
----
循環結構1
for循環
1
for循環是linux
Shell中常用的結構,for循環有三種結構;一種是列表for循環,第二種是不帶列表的for循環,第三種是類C風格的for循環。
2
列表for循環
for
variable
in
list
do
statement
done
3
不帶列表for循環
for
variable
do
statement
done
4
類C風格的for循環
for
((
expr1;
expr2;
expr3
))
do
statement
done2
while循環
1
while循環的結構
while
expression
do
statement
done
3
until循環
1
在執行while循環的時候只要expression的退出狀態為0,將一直執行循環體。until命令和while命令類似,但區別是until循環中的expression的退出狀態不為0的時候循環體將會一直執行。
2
until的結構
untile
expression
do
statement
done
4
循環控制符號
1
break語句可以應用在for,while和until循環語句中,用於強行循環,也就是忽略循環體中任何其它語句和循環條件的限制。
2
continue循環控制符應用在for,while和until語句中,用於讓腳本跳過後面的語句,執行下一次的循環。

⑼ linux的for循環語句

for file
in a b c d
do
cp $file /root/linux
done

熱點內容
上傳文章微信 發布:2025-05-15 17:42:46 瀏覽:811
為什麼蘋果機比安卓機價格穩定 發布:2025-05-15 17:37:01 瀏覽:461
公司收信伺服器地址 發布:2025-05-15 17:31:27 瀏覽:696
idle運行python文件 發布:2025-05-15 17:12:19 瀏覽:231
主存儲器屬於外存儲器嗎 發布:2025-05-15 16:54:00 瀏覽:755
顯示屏看股票都有哪些配置 發布:2025-05-15 16:52:39 瀏覽:397
android行情 發布:2025-05-15 16:52:25 瀏覽:438
活動上線前伺服器配置要注意什麼 發布:2025-05-15 16:38:43 瀏覽:949
王者榮耀安卓區怎麼免費轉蘋果 發布:2025-05-15 16:18:02 瀏覽:763
威朗pro高配都有哪些配置 發布:2025-05-15 15:57:09 瀏覽:958