最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux?for循環(huán)之列表for循環(huán)詳解

 更新時(shí)間:2025年09月05日 09:18:35   作者:姜小白-  
文章詳細(xì)介紹了Linux?shell中的for循環(huán)結(jié)構(gòu),重點(diǎn)分析列表for循環(huán)的三種形式:數(shù)字列表、字符串列表、命令列表及腳本傳參列表,通過使用seq命令和跳步方式實(shí)現(xiàn)循環(huán)控制,并說明字符串列表的使用方法

for循環(huán)是Linux shell 中最常用的結(jié)構(gòu)。

for 循環(huán)有三種結(jié)構(gòu):

  • 一種結(jié)構(gòu)是列表for循環(huán)
  • 第二種結(jié)構(gòu)是不帶列表for循環(huán)
  • 第三種結(jié)構(gòu)是類C風(fēng)格的for循環(huán)

本篇博文重點(diǎn)看列表for循環(huán),列表for循環(huán)大的格式固定,在列表構(gòu)成上分多種情景,如數(shù)字列表、字符串列表、命令列表、腳本傳參列表等,下面一一來看。

列表for循環(huán)語句用于將一組命令執(zhí)行已知的次數(shù),語句基本格式如下

for variable in (list)
do 
    command
    command
    ...
done

ex1,列表for循環(huán)中l(wèi)ist 列表為常數(shù)的情況

#!/bin/bash

#使用列表for循環(huán)顯示5次歡迎操作
for variable  in 1 2 3 4 5 
do
    echo "Hello, welcome $variable  times "
done
[zhangqi@localhost shellscript]$ sh for_ex1.sh 
Hello, welcome 1  times 
Hello, welcome 2  times 
Hello, welcome 3  times 
Hello, welcome 4  times 
Hello, welcome 5  times 
[zhangqi@localhost shellscript]$ 

ex2,列表為略寫形式

#!/bin/bash

#使用列表for循環(huán)顯示5次歡迎操作
for variable  in {1..5} 
do
    echo "Hello, welcome $variable  times "
done
[zhangqi@localhost shellscript]$ sh for_ex2.sh 
Hello, welcome 1  times 
Hello, welcome 2  times 
Hello, welcome 3  times 
Hello, welcome 4  times 
Hello, welcome 5  times 
[zhangqi@localhost shellscript]$ 

上面示例種,我們將1~5進(jìn)行略寫,使其可以正常的與示例1輸出相同的結(jié)果

ex3,列表為簡寫形式

#!/bin/bash

#使用列表for循環(huán)顯示5次歡迎操作
for variable  in $(seq 1 5) 
do
    echo "Hello, welcome $variable  times "
done

seq 命令是Linux預(yù)設(shè)的外部命令,一般用于一堆數(shù)字的簡化寫法,可以參考linux常用命令之seq。

執(zhí)行后,結(jié)果同上面相同,就不重復(fù)貼出來了。

ex4,按步數(shù)跳躍方式實(shí)現(xiàn)列表

#!/bin/bash

#使用列表for循環(huán)顯示5次歡迎操作
for variable  in {1..5..2} 
do
    echo "Hello, welcome $variable  times "
done

運(yùn)行下,看下結(jié)果

[zhangqi@localhost shellscript]$ sh for_ex4.sh 
Hello, welcome 1  times 
Hello, welcome 3  times 
Hello, welcome 5  times 
[zhangqi@localhost shellscript]$ 

ex5,跳躍方式用seq表達(dá)

[zhangqi@localhost shellscript]$ cat for_ex5.sh 
#!/bin/bash

#使用列表for循環(huán)顯示5次歡迎操作
for variable  in $(seq 1 2 5) 
do
    echo "Hello, welcome $variable  times "
done

[zhangqi@localhost shellscript]$ sh for_ex5.sh 
Hello, welcome 1  times 
Hello, welcome 3  times 
Hello, welcome 5  times 
[zhangqi@localhost shellscript]$ 

ex6,用字符串表示列表

[zhangqi@localhost shellscript]$ cat for_ex6.sh 
#!/bin/bash

#使用列表for循環(huán)顯示周一到周日對應(yīng)的英文
for day in Monday Tuesday Wednesday Thursday Friday Saturday Sunday 
do
    echo "$day"
done

[zhangqi@localhost shellscript]$ sh for_ex6.sh 
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
[zhangqi@localhost shellscript]$ 
[zhangqi@localhost shellscript]$ cat for_ex7.sh 
#!/bin/bash

#使用命令打印數(shù)組
for variable  in `ls /` 
do
    echo "Every directory is $variable "
done

[zhangqi@localhost shellscript]$ sh for_ex7.sh 
Every directory is bin 
Every directory is boot 
Every directory is dev 
Every directory is etc 
Every directory is home 
Every directory is lib 
Every directory is lost+found 
Every directory is media 
Every directory is mnt 
Every directory is opt 
Every directory is proc 
Every directory is root 
Every directory is sbin 
Every directory is selinux 
Every directory is srv 
Every directory is sys 
Every directory is tmp 
Every directory is usr 
Every directory is var 
[zhangqi@localhost shellscript]$ 

這里的命令格式可以使用 $( command) 或 `command`,效果相同,這里就不再做展示了。

ex8,通過腳本傳參實(shí)現(xiàn)里列表

[zhangqi@localhost shellscript]$ cat for_ex8.sh 
#!/bin/bash

echo "number of arguments is $#"

echo "What you input is :"

#使用命令打印數(shù)組
for argument  in "$*" 
do
    echo "$argument "
done

[zhangqi@localhost shellscript]$ sh for_ex8.sh 1 hello shell
number of arguments is 3
What you input is :
1 hello shell 
[zhangqi@localhost shellscript]$ 

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

青岛市| 昭觉县| 巨鹿县| 米脂县| 澳门| 上杭县| 中阳县| 周宁县| 祁阳县| 洪洞县| 云霄县| 紫金县| 南宫市| 同仁县| 奉新县| 揭西县| 安福县| 饶河县| 济南市| 库尔勒市| 邢台市| 襄汾县| 彭泽县| 隆回县| 太湖县| 全州县| 华池县| 济阳县| 淮北市| 喀什市| 寻甸| 尖扎县| 江川县| 河北区| 海门市| 湘西| 阳曲县| 莱阳市| 左云县| 赫章县| 永仁县|