shell基础之三:循环语句for

一、循环语句for

bash中的循环控制语句:for,while,until

for循环语法1:

for 变量名 in 列表;do

循环体

done

运行特性:

第一遍:将列表中的第一个元素赋值“变量名”定义的变量,而后执行完成循环体;

第二遍:、、、直到元素遍历结束,循环退出

列表的生成方式:

1、直接列出  如: stu100 stu101 stu102  或{stu100,stu101,stu102}

2、生成整数列表  如:{start_num..end_num} 例:{1..10} 特定格式,表示1到10

3、使用文件名通配的机制生成列表

4、使用命令生成

seq LAST

seq FIRST LAST

seq FIRST STEP LAST

例:

[[email protected] ~]# seq 1 2 10
1
3
5
7
9
[[email protected] ~]#

2、创建10个用户user10-user19,密码同用户名,在/tmp/创建10个空文件file10-file19,把file10-file19属主属组改为user10-user19

[[email protected] script]# cat 5useradd.sh 
#/bin/bash
for i in {10..19} 
do
useradd user$i
touch /tmp/file$i
chown user$i:user$i /tmp/file$i
done
[[email protected] script]#

3、写一个脚本用file命令显示/var/log目录下每个文件的内容类型。

[[email protected] shell]# cat 3.sh
#!/bin/bash
for i in /var/log/*
do
file $i 
done

6、显示/etc/passwd中第3,7和11个用户的用户名 和ID号

[[email protected] shell]# cat 6.sh
#!/bin/bash
for i in {3,7,11}
do
head -$i /etc/passwd|tail -1|cut -d: -f1,3
done
[[email protected] shell]# bash 6.sh
daemon:2
shutdown:6
operator:11

7、显示/etc/passwd文件中位于偶数行的用户的用户名

[[email protected] script]# cat 4useradd.sh 
#/bin/bash
lines=$(cat /etc/passwd|wc -l)
for i in $(seq 2 2 $lines)
do
head -n $i /etc/passwd|tail -1|cut -d: -f1
done
[[email protected] script]# bash 4useradd.sh
bin
adm
sync
halt
uucp
games
ftp
dbus
rpc
rpcuser
haldaemon
saslauth
sshd
oprofile
xj
stu101
stu105
stu107
stu111
stu120
stu122
stu131
usersb
usersib
userx111
userj333x111
[[email protected] script]# bash 4useradd.sh|wc -l
26
[[email protected] script]#

练习:

1、 计算100以内所有正整数之和:

[[email protected] shell]# cat 8.sh
#!/bin/bash
sum=o
for i in {1..100}
do
  sum=$[$sum+$i]
done
  echo $sum
[[email protected] shell]# bash 8.sh
5050

2、分别计算1000以内所有偶数之和和奇数之和

[[email protected] shell]# bash 9.sh
The sum is 2500
The sum is 2550
[[email protected] shell]# cat 9.sh
#!/bin/bash
y=0
for i in $(seq 1 2 100)
do
  y=$[$y+$i]
done
echo "The sum is $y"

#################
for a in $(seq 2 2 100)
do 
  b=$[$b+$a]
done
echo "The sum is $b"
时间: 2024-11-08 22:51:10

shell基础之三:循环语句for的相关文章

VBS基础篇 - 循环语句(3) - For...Next

VBS基础篇 - 循环语句(3) - For...Next 指定循环次数,使用计数器重复运行语句,语法结构如下: 1 2 3 4 5 For counter = start To end [Step step]     [statements]     [Exit For]     [statements] Next 主要参数:        counter:用做循环计数器的数值变量.这个变量不能是数组元素或用户自定义类型的元素.        start:counter的初值.        

Shell中的循环语句实例

1.for循环语句实例1.1 最基本的for循环 #!/bin/bash for x in one two three four do     echo number $x done 注:"for" 循环总是接收 "in" 语句之后的某种类型的字列表.在本例中,指定了四个英语单词,但是字列表也可以引用磁盘上的文件,甚至文件通配符.实例1.2 #!/bin/bash for x in /var/log/* do     #echo "$x is a file

VBS基础篇 - 循环语句(4) - For Each...Next

VBS基础篇 - 循环语句(4) - For Each...Next For Each...Next 循环与 For...Next 循环类似.For Each...Next 不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句.这在不知道集合中元素的数目时非常有用. 语法结构如下:         1 2 3 4 5 For Each element In group     [statements]     [Exit For]     [statements]

04 shell编程之循环语句

Shell编程之循环语句 学习目标: 掌握for循环语句编程 掌握while循环语句编程 目录结构: For循环语句 l  读取不同的变量值,以逐个执行同一组命令 l  For语句结构 for 变量名 in 取值列表 do 命令序列 done l  for执行原理 for 变量=取值1,do命令序列.取值2,取值3-取值n,分别do.所有取值都执行完之后,done结束循环. l  根据IP地址检查主机状态 Ip地址存放在ip.txt文件中 每行一个 使用ping命令检测各主机的联通性 l  根据

bash shell基础之三字符串测试及for循环

字符串测试: ==:判断字符串相等 !=:判断字符串不相等 -n:测试指定字符串是否为空 -s:测试指定的字符串是否不空 循环语句: for 变量 in 列表; do 循环体 done 例子: for i in 1 2 3 4 5 6 7 8 9; do 加法运算 done 生成整数列表 for i in {1..100}:表示1到100 for i in `seq 100`:生成一到100或:seq 2(起始数) 2(固进数) 10(结束数).会生成2 4 6 8 10

python基础之循环语句

一.if条件语句: 语法: 1.if单分支(单重条件判断) if expression: expr_true_suite 注释:expession为真执行代码expr_true_suite if单分支(单重条件判断) if not  active or over_time >= 10: print('Warning:service is dead') warn_tag+=1 2.if+else循环语句 if 1<2: print('ok') else: print('no') 3.多分支if+

python基础:循环语句和判断语句

小生博客:http://xsboke.blog.51cto.com 小生 Q Q:1770058260 -------谢谢您的参考,如有疑问,欢迎交流 一. python语句块和缩进 缩进是Python语法的一部分:在python语句中,空格是用来区分块的,每一块的语句,缩进量(空格)应该是相同的 Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字: 增加缩进表示语句块的开始,而减少缩进则表示语句块的退出. 在Python中,冒号(:)用来标识语

java语言基础与go语言基础,循环语句的区别

java语言  循环语句 for(表达式1(参数初始化):表达式2(条件判断):表达式3(更新循环变量)){ 语句循环操作: } 首先;参数的初始化,接下来条件判断,(条件成立),再执行循环操作,然后更新循环变量,又来做条件判断(条件成立),又执行循环操作:以此循环. 一,循环的三要素 1,循环变量 2,循环条件 3,循环体 二,do-while循环(先循环,再判断,至少循环一次) do{ 语句: }while(条件); 三,while循环(先判断,再循环,有可能一次也不循环) while(条件

Java基础---Java循环语句之while(二十二)

Java循环语句之 while 生活中,有些时候为了完成任务,需要重复的进行某些动作.如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈.在 Java 中实现功能时,也经常需要重复执行某些代码,例如,我们为了表示"浓烈的爱",希望输出 1000 行"我爱慕课网!".显然,此时重复敲 1000 遍输出语句是不靠谱滴!!那么,有木有好的办法来解决呢? 有,循环语句! Java 常用的 3 种循环: while . do...while . for 本