Shell脚本循环例题

                一、示例1

                二、示例2

                三、示例3

                四、示例4

                五、示例5

                六、示例6

                七、示例7

                八、示例8

一、示例1

计算从1到100所有整数的和。

脚本命令

#!/bin/bash

a=1
sum=0
while [ $a -le 100 ]
do
sum=$[$sum + $a]
let a++
done
echo $sum

二、示例2

提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和。

脚本命令

#!/bin/bash

a=0
sum=0
read -p "请输入数字(0-100):" num
if [ $num -gt 0 -a $num -lt 100 ];then
while [ $num -le 100 ] && [ $a -le $num ]
do
sum=$[$sum + $a]
let a++
done
echo $sum
fi

三、示例3

求从1到100所有整数的偶数和、奇数和。

脚本命令

#!/bin/bash

i=0
ji=0
ou=0
for i in {1..100}
do
if [ $[$i % 2] -eq 0 ];then
ou=$[$ou + $i]
else
ji=$[$ji + $i]
fi
let i++
done
echo "奇数和为 $ji"
echo "偶数和为 $ou"

四、示例4

执行脚本输入用户名,若该用户存在,输出提示该用户已存在;若该用户不存在,提示用户输入密码,建立用户并设立其密码。

脚本命令

#!/bin/bash

read -p "请输入你的用户名:" yonghu
cat /etc/passwd | grep $yonghu &> /dev/null
a=$?
while [ $a -eq 0 ]
do
echo "该用户已存在"
exit
done while [ $a -ne 0 ]
do
useradd $yonghu
read -p "请输入新用户密码:" passwd
echo $passwd | passwd --stdin $yonghu
exit
done

五、示例5

检测指定范围主机是否通信,并将通信的主机ip输出到文件abc.txt中。

脚本命令

#!/bin/bash

for i in 192.168.30.{10..20}
do
ping -c 3 -i 0.5 -w 2 $i &> /dev/null
if [ $? -eq 0 ];then
echo $i >> ~/abc.txt
else
echo "$i 不在线"
fi
done

六、示例6

用户输入密码,脚本判断密码是否正确,输入正确提示正确信息,连续输错3次则报警。

脚本命令

#!/bin/bash
i=0
mm=123456
for i in 1 2 3
do
read -p "请输入密码:" mima
if [ $mm -eq $mima ];then
echo "密码正确"
exit
fi
done
echo "错误三次,无法进入"

七、示例7

编写能够自动生成一个8位随机密码的脚本。

脚本命令

#!/bin/bash

Str="abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ0123456789"
for i in {1..8}
do
num=$[$RANDOM % ${#Str}]
tmp=${Str:num:1}
passwd+=$tmp
done echo "随机密码为:" $passwd

八、示例8

写个逛淘宝选购商品脚本,每家商店有五种商品选购(衣服500元,裤子400元,鞋子350元,帽子150元,袜子50元),每次选购完或不买都会提示用户是否继续逛下一家商店,如果不再继续逛的话进行购物车结算总额。

脚本命令

#!/bin/bash

a=0
i=1
sum=0
while [ $a -eq 0 ]
do
echo "欢迎来到第 $i 家商店!"
read -p "是否要进店选购?(yes/no)" en
while [ $en = "yes" ]
do
echo "1:衣服¥500"
echo "2:裤子¥400"
echo "3:鞋子¥350"
echo "4:帽子¥150"
echo "5:袜子¥50"
echo "6或其他:放弃选购" read -p "请选择你需要的商品序号:" num
case $num in
1)
echo "选购衣服成功!"
sum=$[$sum + 500]
;;
2)
echo "选购裤子成功!"
sum=$[$sum + 400]
;;
3)
echo "选购鞋子成功!"
sum=$[$sum + 350]
;;
4)
echo "选购帽子成功!"
sum=$[$sum + 150]
;;
5)
echo "选购袜子成功!"
sum=$[$sum + 50]
;;
*)
echo "放弃选购!"
esac
read -p "是否再继续选购(yes/no)" en done read -p "是否继续逛下一家店(yse/no)" enne
if [ $enne = "yes" ];then
let i++
else
echo -e "谢谢惠顾!\n您一共逛了 $i 家店。\n合计购物总额为 $sum元。"
exit
fi done

没事就要多做多练,Shell脚本循环例题做一做的更多相关文章

  1. shell脚本-循环选择语句

    shell脚本-循环选择语句 过程式编程语言: 顺序执行 选择执行 循环执行 注:条件中的变量,可以在执行语句中使用,不用在加上"$". if语句 根据命令的退出状态来执行命令 单 ...

  2. 3.shell脚本循环试题

    shell脚本循环试题 1.计算从1到100所有整数的和 #!/bin/bash a=0 for i in {1..100} #1到100 #每次循环变量i的值也为循环次数 do a=$[ $a + ...

  3. shell脚本循环和信号

    条件判断 if     条件1:then COMMAND elif  条件2:then COMMAND else COMMAND(:)        :  表示pass  不执行任何命令 fi 读取用 ...

  4. shell脚本循环处理文件数据

    有一个日志文件为: # cat data.log 需要提取出里面的数据,写shell脚本实现这个功能: #!/bin/bash OLD=$IFS IFS=$'\n' for entry in $(ca ...

  5. [Shell] shell 脚本循环恢复的问题

    在一个shell脚本中,我大概执行了如下一个脚本: ...} do ...} do ...} do done done done 假设上面的sleep 10秒就是代表我的程序需要执行10秒之久.而现在 ...

  6. shell脚本循环嵌套

    嵌套循环 在循环语句内使用任意类型的命令,包括其他循环命令,叫做嵌套循环.因为是在迭代中迭代,需要注意变量的使用以及程序的效率问题. 下面举一个for循环嵌套for循环的例子: wangsx@SC-2 ...

  7. 使用shell脚本循环处理文本

    公司是使用puppet来进行配置管理, 某天修改完puppet后领导回复: 我们有一个文档cabinet.txt记录了物理机器所在的机柜, 除了文档里的其他机器都是虚拟机或云服务器, 对虚拟机的pup ...

  8. shell脚本循环执行mysql语句

    参考资料:Shell脚本中执行mysql语句 需求:数据库里有张数据表存储的是用户对电影的评价(user_id movie_id rating time),但是我现在要每部电影的总评分. 解决方法: ...

  9. shell脚本--循环结构

    shell的循环结构有while和for两种 for循环 #!/bin/bash #文件名:test.sh i=4 for i in 2 4 6 8 10 do echo $i done echo $ ...

随机推荐

  1. newbee-mall开源项目被慕课网拿去做课程,然后我毫不知情,这又是什么骚操作?

    万万没想到,这种事情会发生在我身上. 之前写过<开源囧事>系列而且已经写了四篇,四次开源囧事如下: <开源囧事(一)捅娄子了,写个bug被国家信息安全漏洞共享平台抓到了?> & ...

  2. PaddlePaddle推理部署

    PaddlePaddle推理部署 飞桨推理产品简介 作为飞桨生态重要的一部分,飞桨提供了多个推理产品,完整承接深度学习模型应用的最后一公里. 整体上分,推理产品主要包括如下子产品 各产品在推理生态中的 ...

  3. 夜晚场景图像ISP增强算法

    夜晚场景图像ISP增强算法 输入输出接口 Input: (1)图像视频分辨率(整型int) (2)图像视频格式(RGB,YUV,MP4等) (3)摄像头标定参数(中心位置(x,y)和5个畸变 系数(2 ...

  4. 适用于CUDA GPU的Numba例子

    适用于CUDA GPU的Numba例子 矩阵乘法 这是使用CUDA内核的矩阵乘法的简单实现: @cuda.jit def matmul(A, B, C): """Perf ...

  5. 如何为应用选择最佳的FPGA(上)

    如何为应用选择最佳的FPGA(上) How To Select The Best FPGA For Your Application 在项目规划阶段,为任何一个项目选择一个FPGA部件是最关键的决策之 ...

  6. 英特尔内存革新助平安云 Redis 云服务降本增效

    英特尔内存革新助平安云 Redis 云服务降本增效 英特尔 傲腾 数据中心级持久内存的引入,为平安云的降本增效开启了一条新的道路.通过对平安云 Redis 数据库产品的支持,用户能享受到性能优异且价格 ...

  7. 『言善信』Fiddler工具 — 6、Fiddler界面布局详解【命令行和状态栏】

    目录 1.命令行 2.状态栏 1.命令行 命令行在Fiddler的左下方的黑色窗口,也叫QuickExec,可以调用 Fiddler的内置命令. 这一系列内置的函数用于筛选和操作会话列表中的sessi ...

  8. 尚硅谷Java——宋红康笔记【day6-day10】

    day6 一.数组的概述 1.数组的理解:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理. 2.数组相关的概念: 数组名 元素 ...

  9. 【SQLite】教程06-SQLite表操作

    创建表: CREATE TABLE 语句用于在任何给定的数据库创建一个新表.命名表.定义列.定义每一列的数据类型 查看表: 详细查看表: 重命名表: 删除表: 创建表并添加7条记录(第七条记录用了第二 ...

  10. Spring Boot WebFlux-01——WebFlux 快速入门实践

    第01课:WebFlux 快速入门实践 Spring Boot 2.0 spring.io 官网有句醒目的话是: BUILD ANYTHING WITH SPRING BOOT Spring Boot ...