导航:首页 > 程序命令 > 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命令循环相关的资料

热点内容
android定制输入法 浏览:758
linux下编译android 浏览:311
电影重建文件夹 浏览:981
第五人格香香解压 浏览:626
我的世界手机版推荐什么服务器 浏览:706
安卓怎么下载空战 浏览:586
程序员卖房入市 浏览:117
android视频播放窗口 浏览:288
17元特效的app名字叫什么 浏览:838
小米手机什么时候配置安卓 浏览:262
三种命令方块 浏览:565
hp服务器怎么重新做系统 浏览:480
电脑与单片机无线 浏览:611
云服务器钱怎么提现 浏览:878
华为运动app怎么退出登录 浏览:796
程序员那么可爱陆漓金句 浏览:879
java如何将自己电脑设置成服务器 浏览:858
域名怎么制定服务器8080端口 浏览:667
服务器的主机如何使用 浏览:814
广讯通服务器地址怎么填 浏览:665