linuxfor循環
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語句中,用於讓腳本跳過後面的語句,執行下一次的循環。
2. Linux編程問題 利用for循環將當前目錄下的.c文件移到指定的目錄下,並按文件大小排序,顯示移
解:
dir=/home/hzxyjsj
for f in *.c
do
mv $f $dir
done
ls -S $dir
註:寫法多樣,這只是其中一種寫法。
(2)linuxfor循環擴展閱讀:
for循環小括弧里第一個「;」號前為一個為不參與循環的單次表達式,其可作為某一變數的初始化賦值語句, 用來給循環控制變數賦初值; 也可用來計算其它與for循環無關但先於循環部分處理的一個表達式。
執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括弧{}可以省略,執行完中間循環體後接著執行末尾循環體。
3. linux shell for循環怎麼寫
for I in list; do
statement
done
I 是變數
list是一個表格 如你可以使用一串用括弧括起來的數,
也可以使用 命令替換 `seq 1 15` 這個命令忘記了,, 有可能是 `seq 15`
[1..15]
表示1-15的數,,
statement 即要執行的語句
for I in [1..10]; do
echo $I
done
這段for循環的含義就是顯示從1~10的所有數字
4. Linux:關於腳本for循環的執行順序
執行一次,for in 後邊的`` 或 $() 會產生一個list。然後依次讀取。
5. Linux怎麼用for循環實現從一到200$
for循環的常見三種用法
(1)Ubuntu系統在6.10版本後默認使用dash環境;
(2)而CentOS系統常見默認使用的是bash環境;
(3)二者存在一定的區別,部分for循環方式在dash環境下不兼容。
6. 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中的每一個。
7. linux中,利用for循環實現變數i依次取值為a,b,c,d(均為變數)
foriin$a$b$c$d
do
echo$i
done
如果a b c d為字元串變數且含有空格,建議放在雙引號中,寫為 "$a" "$b" "$c" "$d"
8. Linux shell for 循環和雙層循環
Shell 腳本一直以來不是很入門,很多時候就是用到再查,發現自己有幾個重復用比較高的點,還是記錄一下,至少查的時候能少費點功夫~~
(1)列表for循環
Shell支持使用略寫的計數方式,如{1..10},表示1到10的整數數字;
Shell還支持安規定的步數進行跳躍的方式實現列表for循環,例如計算1~100之內所有奇數的和。
i 按照2的增量增長,一直到增長到100。即實現100內奇數加和。還可以使用seq命令實現按2遞增來計算1..100內的所有奇數之和。 for i in $(seq 1 2 100) ,seq 表示起始值為1,增量為2,結束條件值為100。
for循環除了數字列表,還可以生成字元串列表,如列出當前文件夾下的所有文件:
還可以傳遞命令行參數
$#表示傳遞的參數的個數;$@表示參數的列表。
(2) 類C風格的for循環
也稱之為計次循環。 切記使用的是雙括弧。
上面的計算100以內奇數的和可以使用類C的for循環實現
通過for循環實現九九乘法表