谢烟客---------Linux之脚本编程---for及while应用

过程式编程

选择执行

顺序执行: if, case

循环执行: for, while, until

for循环列表

for i in LIST; do
    循环体
done

for i in LIST
do
    循环体
done

while循环

while CONDITION; do
    循环体
done

while CONDITION
do
    循环体
done

CONDITION 循环控制条件,每执行一次循环体,需要再次进行判断 
   true时,执行一次循环
   false时,退出循环

练习:100以内所有正整数之和

练习: 100以内所有偶数和

练习:添加10个用户

练习:通过ping命令探测172.16.250.1-254范围内的所有主机的在线状态.用while循环

练习:打印9x9乘法表

练习:利用RANDOM生成10个随机数,输出这10个数字,并显示其中最大者和最小者

练习:100以内所有正整数之和

#!/bin/bash
#
declare -i sum=0
for i in {1..100}; do
	let sum=$sum+1
done
echo $i
echo "summary: $sum"
#!/bin/bash
#
declare -i sum=0
declare -i i=1
while [ $i -le 100 ]; do
	sum=$[$sum+$i]
	let i++
done

echo $i
echo "summary: $sum"

练习: 100以内所有偶数和

#!/bin/bash
#
declare -i sum=0
declare -i i=2
while [ $i -le 100 ]; do
	sum=$[$sum+$i]
	let i+=2
done

echo $i
echo "summary: $sum"	

练习:添加10个用户user1-user10

#!/bin/bash
#
declare -i i=1
declare -i users=0
while [ $i -le 10 ]; do
	id user$i &> /dev/null
	retval=$?
	[ $retval -ne 0 ] && useradd user$i &> /dev/null
	[ $? -eq 0 ] && echo "Add user user$i finished" && let users=$users+1
done

echo "Add $users users"

练习:通过ping命令探测172.16.250.1-254范围内的所有主机的在线状态.用while循环

#!/bin/bash
#
declare -i IP=‘172.16.250.‘
declare -i i=1
declare -i uphosts=0
declare -i downhosts=0
while [ $i -le 254 ]; do
	if ping -c 1 -w 1  $IP$i &> /dev/null; then
		echo "$IP$i is up"
		let uphosts++
	else
		echo "$IP$i is down"
		let downhosts++
	fi
done

echo "uphosts: $uphosts"
echo "downhosts: $downhosts"

练习:打印9x9乘法表

#!/bin/bash
#
for i in {1..9}; do
	for j in $(seq 1 1 $i); do
		echo -ne "${j}X${i}=$[$i*$j]\t"
		j=$(($j+1))
	done
	echo
done
#!/bin/bash
#
declare -i i=1
while [ $i -le 9 ]; do
	declare -i j=1
	while [ $j -le $i ]; do
		echo -ne "${j}X${i}=$[$i*$j]\t"
		j=$(($j+1))
	done
	echo
	i=$(expr $i + 1)
done	

练习:利用RANDOM生成10个随机数,输出这10个数字,并显示其中最大者和最小者

#!/bin/bash
#
declare -i max=
declare -i min=
declare -i i=1
declare -i random
while [ $i -le 10 ]; do
	random=$RANDOM
	echo $random

	if [ $i -eq 1 ]; then
		max=$random
		min=$max
	fi

	if [ $i -gt 1 ]; then
		if [ $random -gt $max ]; then
			max=$random
		fi
		if [ $random -lt $min ]; then
			min=$random
		fi
	fi
	let i++
done

echo "max: $max"
echo "min: $min"
==========================================
#!/bin/bash
#
declare -i max=
declare -i min=
declare -i i=1
declare -i random
while [ $i -le 10 ]; do
	random=$RANDOM
	echo $random

	if [ $i -eq 1 ]; then
		max=$random
		min=$max
	fi

	if [ $random -gt $max ]; then
		max=$random
	fi
	if [ $random -lt $min ]; then
		min=$random
	fi
	let i++
done

echo "max: $max"
echo "min: $min"
时间: 2024-10-29 00:34:35

谢烟客---------Linux之脚本编程---for及while应用的相关文章

谢烟客---------Linux之脚本编程---until,for,case

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ until循环 while CONDITION; do condition-ture done 为真时,进入循环 until CONDITION; do 循环体 done 为假时,进入循环 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 循环控制命令.语句:用于循环体中,用在条件判断的表达式上 continue

谢烟客---------Linux之脚本编程---函数

函数.函数名.函数定义.变量作用域.函数返回值.参数.递归 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 函数:一段具有特定功能的代码 函数名:为这段代码所取的名字,可以通过函数名完成特定功能 注意: 函数名出现的地方即为 函数对应的代码替换的地方 (变量名出现的地方即为 变量所对的值替换的地方) 函数的作用: 代码重用:过程式编程中,代码重用的重要组件. 模块化编程: 结构化编程: 函数的特点: 1)没有执行入口,只能被有

Linux Shell脚本编程学习笔记和实战

http://www.1987.name/141.html shell基础 终端打印.算术运算.常用变量 Linux下搜索指定目录下特定字符串并高亮显示匹配关键词 从键盘或文件中获取标准输入 [read命令] 文件的描述符和重定向 数组.关联数组和别名使用 函数的定义.执行.传参和递归函数 条件测试操作与流程控制语句 获取时间日期格式和延时 [date.sleep命令] 内部字段分隔符IFS和脚本的调试DEBUG 显示.读取或拼接文件内容 [cat命令] 文件查找与打印文件列表 [find命令]

Linux Shell脚本编程while语句

Linux Shell脚本编程while语句案例 1,每隔3秒,打印一次系统负载 #!/bin/bash while truedo    uptime    sleep 3done 2,把监控结果保存到文件,在后台执行,然后用tail -f监控文件变化[email protected]:~/linux/shell/flow_control$ sh while.sh &[1] 12867 #!/bin/bash while truedo    uptime >> log.txt    s

Linux shell脚本编程基础之练习篇

shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash if [ $# -ne 1 ] then echo "请输入一个参数" exit else echo "参数正确" newfile=$1 fi #echo `grep "^#\!" ${newfile}` if ! grep "^#\!" ${newfile} &>/

Linux shell脚本编程详解及应用实例

什么是shell脚本? 1.shell脚本:是一种解释型语言,不需要提前进行编译,只需将代码转化成中间代码,边解释边运行,执行效率稍逊于编译型语言,跨平台性好.而编译型语言则需要提前进行编译转化为二进制文件,靠近底层硬件执行效率高,可移植性差. 2.shell的首行严格来说使用shebang机制:由#和!构成的字符序列,在类unix系统中程序的载入器将其后的内容,当做解释器的指令,并将载有shebang文件路径作为解释器的参数,且予以调用. shell及其他解释型语言的一般格式?  #!/bin

Unix/Linux shell脚本编程学习--Shell Script II

Shell Script II 10.Shell echo命令 echo "OK!\n”   #显示换行 echo "It is a test" echo无拼接字符时后一般可以不使用”引号”,从上面可看出,双引号可有可无,单引号主要用在原样输出中. 显示结果重定向保存至文件: vim myfile 创建文件 echo "It is a test" > myfile cat myfile 查看文件内容 若需要原样输出字符串(不进行转义),请使用单引号.

Linux Shell脚本编程while语句案例

1,每隔3秒,打印一次系统负载 #!/bin/bash while true do uptime sleep 3 done 2,把监控结果保存到文件,在后台执行,然后用tail -f监控文件变化 [email protected]:~/linux/shell/flow_control$ sh while.sh & [1] 12867 #!/bin/bash while true do uptime >> log.txt sleep 3 done [email protected]:~/

Linux Shell脚本编程基础

1. 脚本是一个包含一系列命令序列的文本文件,当运行这个脚本文件时,文件中包含的命令序列将得到执行. 2. 脚本主要由两部分组成:脚本解释器和命令序列 注:#!/bin/bash 指明脚本解释器为Bash Shell 3. Shell脚本允许用户设置和使用自己的变量,变量可以使数字或者字符串,用户无需指定其类型,也无需在使用前定义. 注:(1)定义时无需加"$" (2)赋值“=”左右不能有空格 (3)注释用“#” 4. 同C程序一样,Shell脚本也可以使用命令行参数 (1)$#:传入