shell脚本——八个循环实验(使用while循环)(上)

简介: 实验一实验要求:计算从1到100所有整数的和。创建脚本:

实验一

实验要求:计算从1到100所有整数的和。

创建脚本:

[root@localhost ~]# vim w01.sh
 #!/bin/bash
 # 计算从1到100之间所有整数的和。
 sum=0
 i=1
 while [ $i -le 100 ]
 do
    sum=$[sum+i]
    let i++
 done
 echo "1-100之间所有整数和是:$sum"
 [root@localhost ~]# bash w01.sh
 1-100之间所有整数和是:5050
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


实验二

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

创建脚本:

[root@localhost ~]# vim w02.sh
 #!/bin/bash
 # 提示用户输入一个小于100的整数,并计算从1到该数>之间所有整数的和。
 read -p "请输入一个整数(1-100):" a
 sum=0
 i=1
 while [ $i -le $a ]
 do
    let sum=$[sum+i]
    let i++
 done
 echo "求和的结果是 $sum"
复制代码


网络异常,图片无法展示
|


执行脚本:

[root@localhost ~]# bash w02.sh
 请输入一个整数(1-100):50
 求和的结果是 1275
 [root@localhost ~]# bash w02.sh
 请输入一个整数(1-100):100
 求和的结果是 5050
 [root@localhost ~]# bash w02.sh
 请输入一个整数(1-100):10
 求和的结果是 55
复制代码


网络异常,图片无法展示
|


实验三

实验要求:求从1到100所有整数的偶数和、奇数和。

创建脚本并执行:


[root@localhost ~]# vim w03.sh
 #!/bin/bash
 # 求从1到100所有整数的偶数和、奇数和。
 sum1=0
 sum2=0
 i=1
 while [ $i -le 100 ]
 do
    a=$[$i%2]
    if [ $a -eq 0 ]
    then
        let sum1=${sum1}+$i
    else
        let sum2=${sum2}+$i
    fi
    let i++
 done
 echo "1-100之间所有整数的偶数和是 ${sum1}"
 echo "1-100之间所有整数的奇数和是 ${sum2}"
 [root@localhost ~]# bash w03.sh
 1-100之间所有整数的偶数和是 2550
 1-100之间所有整数的奇数和是 2500
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


实验四

实验要求:用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,输出提示该用户已存在;若该用户不存在,建立用户并设立初始密码“123456”。

创建脚本:

[root@localhost ~]# cat users1.txt
 u01
 lisi
 jack
 wangwu
 [root@localhost ~]# vim w04.sh
 #!/bin/bash
 # 用户名存放在users1.txt文件中,每行一个.
 # 判断文件里的用户是否存在,若该用户存在,输出提示该用>户已存在;
 # 若该用户不存在,建立用户并设立初始密码“123456”。
 cat /root/users1.txt |while read user
 do
     if id $user &>/dev/null
     then
         echo "用户 $user 已存在!"
     else
         echo "正在创建用户 $user......"
         useradd $user
         echo "123456" | passwd --stdin $user
     fi
 done
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


执行脚本:

[root@localhost ~]# bash w04.sh
 用户 u01 已存在!
 用户 lisi 已存在!
 正在创建用户 jack......
 更改用户 jack 的密码 。
 passwd:所有的身份验证令牌已经成功更新。
 正在创建用户 wangwu......
 更改用户 wangwu 的密码 。
 passwd:所有的身份验证令牌已经成功更新。
复制代码


网络异常,图片无法展示
|


相关文章
|
5天前
|
Shell
蓝易云 - 简单shell脚本的编写教程
以上就是编写一个基本Shell脚本的步骤。当然,Shell脚本可以做的远不止这些,你可以使用变量,控制结构(如if语句和循环),以及各种Shell命令和功能来编写更复杂的脚本。
12 1
|
16天前
|
Shell UED Python
Shell 循环语句:重复任务的自动化利器
在Shell脚本中,循环语句如`while`和`for`是自动化任务的关键。`while`循环在条件满足时执行,例如计算1到100的和;`for-in`循环遍历列表,可用于迭代指定数值或命令输出,如求1到100的和。`select-in`循环提供交互式菜单,增强脚本用户体验。理解并运用这些循环能提升脚本效率和可读性。现在,动手试试吧!
14 2
|
1天前
|
移动开发 网络协议 Shell
查看IP访问量的shell脚本汇总
查看IP访问量的shell脚本汇总
|
6天前
|
Shell 调度
Shell脚本中的if条件判断语句
Shell脚本中的if条件判断语句
|
6天前
|
Shell
蓝易云 - 简单shell脚本的编写教程
以上就是编写一个基本Shell脚本的步骤。当然,Shell脚本可以做的远不止这些,你可以使用变量,控制结构(如if语句和循环),以及各种Shell命令和功能来编写更复杂的脚本。
5 0
|
7天前
|
机器学习/深度学习 Unix Java
技术笔记:Linux之Shell脚本编程(一)
技术笔记:Linux之Shell脚本编程(一)
12 0
|
10天前
|
Shell
Shell脚本之条件语句if总结
Shell脚本之条件语句if总结
|
17天前
|
监控 Shell Linux
Linux的Shell脚本详解
Linux的Shell脚本详解
|
21天前
|
Shell
shell脚本
shell脚本
18 2