Linux?for循環(huán)之列表for循環(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
...
doneex1,列表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 "
doneseq 命令是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)顯示周一到周日對(duì)應(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)文章
Linux實(shí)現(xiàn)自主Shell命令行解釋器
本文主要介紹了Linux實(shí)現(xiàn)自主Shell命令行解釋器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
Bash?Shell中單引號(hào)和雙引號(hào)的區(qū)別小結(jié)
在Bash中,單引號(hào)和雙引號(hào)都能定義字符串,但它們處理變量擴(kuò)展、特殊字符的方式不同,本文就來介紹一下Bash?Shell中單引號(hào)和雙引號(hào)的區(qū)別小結(jié),感興趣的可以了解一下2024-11-11
Linux文本查看命令及其選項(xiàng)詳解(cat,head,tail)
這篇文章主要介紹了Linux文本查看命令及其選項(xiàng)詳解(cat,head,tail),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
Linux中自定義shell腳本啟動(dòng)jar包的方法
這篇文章主要介紹了Linux中自定義shell腳本啟動(dòng)jar包的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01

