導航:首頁 > 程序命令 > shell命令循環

shell命令循環

發布時間:2024-05-28 06:03:54

A. shell里的for循環怎麼寫

for循環的運作方式,是講串列的元素意義取出,依序放入指定的變數中,然後重復執行含括的命令區域(在do和done 之間),直到所有元素取盡為止。

其中,串列是一些字元串的組合,彼此用$IFS所定義的分隔符(如空格符)隔開,這些字元串稱為欄位。
for的語法結構如下:

1
2
3
4

for 變數 in 串列
do
執行命令
done

說明:

行1,講串列中的欄位迭代放入變數中
行2-4,接著將重復執行do和done之間的命令區域,直到串列中每一個欄位軍處理過為止。
流程圖:

用例1
用for循環在家目錄下創建aaa1-aaa10,然後在aaa1-aaa10創建bbb1-bbb10的目錄

1
2
3
4
5
6
7
8
9
10
11
12

#!/bin/bash
for k in $( seq 1 10 )
do
mkdir /home/kuangl/aaa${k}
cd /home/kuangl/aaa${k}
for l in $( seq 1 10 )
do
mkdir bbb${l}
cd /home/kuangl/aaa${k}
done
cd ..
done

說明:
行2,seq 用於產生從某個數到另外一個數之間的所有整數。
行4,在家目錄下創建文件夾
行6,在使用一個for循環創建文件夾
測試結果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

[root@test01 kuangl]# ll
total 80
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa1
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa10
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa2
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa3
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa4
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa5
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa6
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa7
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa8
drwxr-xr-x 12 root root 4096 Jul 20 01:23 aaa9
[root@test01 kuangl]# cd aaa1
[root@test01 aaa1]# ll
total 40
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb1
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb10
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb2
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb3
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb4
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb5
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb6
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb7
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb8
drwxr-xr-x 2 root root 4096 Jul 20 01:23 bbb9

1

用例2

列出var目錄下各子目錄佔用磁碟空間的大小。

1
2
3
4
5
6
7

#!/bin/bash
DIR="/var"
cd $DIR
for k in $(ls $DIR)
do
[ -d $k ] && -sh $k
done

說明:
行4,對/var目錄中每一個文件,進行for循環處理。
行6,如果/var下的文件是目錄,則使用 -sh計算該目錄佔用磁碟空間的大小。
測試結果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

[root@test01 scripts]# ./var.sh
276M cache
4.0K cvs
84K db
8.0K empty
4.0K ftp
4.0K games
4.0K gdm
21G lib
4.0K local
16K lock
7.4G log
4.0K logs
0 mail
4.0K nis
4.0K opt
4.0K preserve
336K run
3.7G spool
212K tmp
4.1G www
4.0K yp

B. shell編程中的for循環如何實現

運行報錯嗎

add_all_subscriber()
{
file=subscriber.txt
for i in `seq 100`; do
SubscriberId = 0
a = $(($SubscriberId + $i))
add_one_subscriber $a
sed -e 's/Id/$a/' subscriber.txt >> subscriber_update.txt
done

mv subscriber.txt subscriber_update.txt
rm -rf subscriber.txt
mv subscriber_update.txt subscriber.txt
else
echo "completed"
fi

}

改成下面的內容試下

C. 編寫一個shell程序,實現用for循環輸出1到20間的奇數

#!/bin/sh

for ((i=1;i<20;i=i+2));

do

echo $i

done

類似於DOS下的command.com和後來的cmd.exe。它接收用戶命令,然後調用相應的應用程序。

命令行式shell(Command Line Interface shell ,即CLI shell)

例如:

bash / sh / ksh / csh / zsh(Unix/linux 系統)



(3)shell命令循環擴展閱讀:

傳統意義上的shell指的是命令行式的shell,以後如果不特別註明,shell是指命令行式的shell。

文字操作系統與外部最主要的介面就叫做shell。shell是操作系統最外面的一層。shell管理與操作系統之間的交互:等待輸入,向操作系統解釋你的輸入,並且處理各種各樣的操作系統的輸出結果。

shell提供了與操作系統之間通訊的方式。這種通訊可以以交互方式,或者以shell script方式執行。shell script是放在文件中的一串shell和操作系統命令,它們可以被重復使用。本質上,shell script是命令行命令簡單的組合到一個文件裡面。

閱讀全文

與shell命令循環相關的資料

熱點內容
股票預測演算法現狀 瀏覽:426
程序員三高 瀏覽:178
pythonfiddle 瀏覽:215
韓信分油總共有幾種演算法 瀏覽:941
程序員思維方案 瀏覽:970
編譯環境要裝c盤嗎 瀏覽:648
單片機生成pwm 瀏覽:206
線上租車有什麼app 瀏覽:908
php程序修改 瀏覽:684
下列能查找文件或文件夾的操作是 瀏覽:314
遙感科學與技術演算法待遇 瀏覽:136
cad標注半徑命令 瀏覽:367
打卡領購app邀請碼怎麼填 瀏覽:336
編程訪問許可權沖突 瀏覽:152
桌面運維如何轉伺服器運維 瀏覽:627
tomcat如何設置伺服器 瀏覽:679
php編譯支持mysql 瀏覽:817
mir4手游安卓版怎麼玩國際服 瀏覽:23
伺服器程序怎麼刪除 瀏覽:657
阿里年薪70萬程序員名單照片 瀏覽:575