Shell脚本攻略:循环语句for

这篇具有很好参考价值的文章主要介绍了Shell脚本攻略:循环语句for。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、理论

1.for循环

2.echo命令

二、实验

1.实验一

2.实验二

3.实验三

4.实验四

5.实验五

6.实验六

7.实验七

8.实验八

9.实验九


一、理论

1.for循环

(1)for循环的常见用法

      ① 带列表的for循环
带列表的for循环用于执行一定次数的循环,其语法结构如下:

for 变量名 in 取值列表

do

  命令序列

done

for VARIABLE in (list)
do
    command
done

for fruit in apple orange banana pear
do
    echo "最爱吃的水果:$fruit"
done
echo "没有其他爱吃"
[root@localhost ~]# sh fruit.sh
最爱吃的水果:apple
最爱吃的水果:orange
最爱吃的水果:banana
最爱吃的水果:pear
没有其他爱吃

也可以将列表的内容换成变量,循环的时候读取变量的值;或者in后面的内容可以是任意命令的标准输出。例如:

sum=0
for VAR in `seq 1 100`
do
    let "sum+=VAR"
done
echo "总和是: $sum"
~                     
[root@localhost ~]# sh sum.sh
总和是: 5050

      ② 不带列表的for循环
不带列表的for循环如下所示:

for VARIABLE in (list)
do
    command
done

使用不带列表的for循环时,需要运行脚本时通过参数的方式给变量传值。例如:

sum=0
for VAR 
do
    let "sum+=VAR"
done
echo "总和是: $sum"
[root@localhost ~]# sh sum.sh 7 8 9
总和是: 24

③ 类C的for循环

shell支持类C的for循环,语法结构如下:

for ((expression1;expression2;expression3))
do 
   command
done
for ((i=1,j=100;i<=10;i++,j--))
do
       echo "i=$i,j=$j"
done
~                                                                                                                
~           
[root@localhost ~]# sh for.sh
i=1,j=100
i=2,j=99
i=3,j=98
i=4,j=97
i=5,j=96
i=6,j=95
i=7,j=94
i=8,j=93
i=9,j=92
i=10,j=91

④  for的无限循环
无限循环又叫死循环,使用类C的for循环,只要保证expression2条件为真即可,会一直运行,直到按下Ctrl+C组合键

for ((i=0;i<1;i+=0))
do
       echo "i=$i"
done
~             
i=0
i=0
i=0
i=0
i=0
i=0
i=0
i=0
i=0
i=0
i=0
^C

(2)for循环原理

for语句需要定义一个变量和取值列表,根据不同的取值执行相同的命令,知道变量值用完。

取值列表里包含多个属性相同的对象,例如:IP地址,通信录等。

Shell脚本攻略:循环语句for

Shell脚本攻略:循环语句for

2.echo命令

echo用于输出字符串或提取Shell变量的值

格式:echo [参数] [字符串]

表1 常用转义符号及含义

转义符号 含义
-n  

表示输出不换行

-E 

   禁止反斜杠转义,与-e参数功能相反

-e  

  输出转义字符,将转义后的内容输出到屏幕上

\b 

   相当于退格键,但前提是“\b”后存在字符;“\b"表示删除前一个字符;”\b\b"表示删除前两个字符

\c  

  不换行输出。后面无字符时相当于 echo -n;"\c"后有字符时,将不被输出

\n 

   换行,但是换行后的新行从“\n”处开始另起一行

\f

     换行,但是换行后的新行的开头位置连接着上一行的行尾

\v  

  与\f相同-E    禁止反斜杠转义,与-e参数功能相反

\t  

   转义后表示插入tab,即横向制表符

\r 

    光标移至行首,但不换行,相当于使用“\r”以后的数字覆盖之前相等长度的字符

| 表示插入“\”本身

(1)echo -n 不换行输出

echo a
echo b
echo c
echo "......"
echo -n a
echo -n b
echo -n c       
[root@localhost ~]# sh test.sh
a
b
c
......
abc[root@localhost ~]# 

(2)echo -e 转义字符; \b退格 不换行输出

删除相应个数的字

[root@localhost ~]# echo -e "abcd"
abcd
[root@localhost ~]# echo -e "abc\bd"
abd
[root@localhost ~]# echo -e "ab\b\bcd"
cd

 (3)echo -e \c 不换行输出

[root@localhost ~]# echo -e "abcd\c"
abcd[root@localhost ~]# 

(4)echo -e \n 换行输出

可在末尾

abcd[root@localhost ~]# echo -e "abcd\n"
abcd

也可以在中间

[root@localhost ~]# echo -e "ab\ncd"
ab
cd

 (5)echo -e \f、\v换行输出

[root@localhost ~]# echo -e "abcd\fnice"
abcd
    nice
[root@localhost ~]# echo -e "abcd\vbeauty"
abcd
    beauty

(6)echo -e \r 光标移至行首不换行

[root@localhost ~]# echo -e "abcd\r123"
123d

二、实验

1.实验一

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

(1)脚本截图

Shell脚本攻略:循环语句for

(2)运行结果

Shell脚本攻略:循环语句for

2.实验二

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

(1)脚本截图

Shell脚本攻略:循环语句for

(2)运行结果

Shell脚本攻略:循环语句for

Shell脚本攻略:循环语句for

3.实验三

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

偶数和

(1)脚本截图

Shell脚本攻略:循环语句for

(2)运行结果

Shell脚本攻略:循环语句for

奇数和

(1)脚本截图

Shell脚本攻略:循环语句for

(2)运行结果

Shell脚本攻略:循环语句for

4.实验四

用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,输出提示该用户已存在;用户存在但没设密码,则提示用户并让用户设置密码;若该用户不存在,提示用户输入密码,建立用户并设立其密码

(1)脚本截图

(2)运行结果

用户不存在

Shell脚本攻略:循环语句for

用户存在密码不存在

Shell脚本攻略:循环语句for

5.实验五

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

(1)脚本截图

Shell脚本攻略:循环语句for

(2)运行结果

Shell脚本攻略:循环语句for

6.实验六

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

(1)脚本截图

Shell脚本攻略:循环语句for

(2)运行结果

Shell脚本攻略:循环语句for

7.实验七

使用循环语句将一个 0到255 之间的十进制数转换成8位数二进制数

减法

(1)脚本截图

Shell脚本攻略:循环语句for

(2)运行结果

Shell脚本攻略:循环语句for

除基逆序取余

(1)脚本截图

Shell脚本攻略:循环语句for

(2)运行结果

Shell脚本攻略:循环语句for

8.实验八

某山顶上有一颗香蕉树,一只猴子第一天从树上摘了若干根香蕉,当即就吃了一半,还不过瘾,又多吃了一根。第二天猴子又将剩下的香蕉吃了一半,禁不住诱惑,又多吃了一根香蕉。依此类推,每天都将剩余的香蕉吃一半后再多吃一根。到了第十天,猴子发现只剩一根香蕉了,请问这只猴子在第一天总共摘了多少根香蕉?

(1)脚本截图

Shell脚本攻略:循环语句for

(2)运行结果

Shell脚本攻略:循环语句for

9.实验九

(1)99乘法表

Shell脚本攻略:循环语句for

Shell脚本攻略:循环语句for

(2)倒三角 99乘法表

Shell脚本攻略:循环语句for

Shell脚本攻略:循环语句for文章来源地址https://www.toymoban.com/news/detail-462410.html

到了这里,关于Shell脚本攻略:循环语句for的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • shell脚本——循环语句、sed、函数、数组、免交互expect

    目录 循环语句 for while 与 until sed 基本用法 sed脚本格式 函数 注意事项 定义函数和调用函数 脚本中函数的位置 查看函数 删除函数 函数返回值 函数的传参操作 使用函数文件 递归函数  数组 声明数组 数组切片 免交互expect 定义  基本命令 for循环需要知道循环的次数 格式1:

    2024年02月11日
    浏览(63)
  • 【Shell篇】循环查找某个目录的脚本文件并打印运行

    这段代码是/build/envsetup.sh文件最后一段代码,搜索了源代码中所有的vendorsetup.sh脚本。 这句代码是一个 shell 命令,大致意思是:如果当前目录中存在名为 device 的目录,则在该目录下递归查找深度不超过 4 级的所有文件中,名字为 vendorsetup.sh 的文件,并将find结果按照字母顺

    2024年02月03日
    浏览(44)
  • Linux shell编程学习笔记17:for循环语句

    Linux Shell 脚本编程和其他编程语言一样,支持算数、关系、布尔、字符串、文件测试等多种运算,同样也需要进行根据条件进行流程控制,提供了if、for、while、until等语句。  之前我们探讨了if语句,现在我们来探讨for循环语句。 Linux Shell中的for语句十分灵活,格式多样,我

    2024年02月06日
    浏览(45)
  • Shell脚本学习-for循环结构4

    案例1: 批量创建10个系统账号chang01~chang10,并设置密码(密码不能相同)。(密码随机8位字符) 脚本: 运行结果: 知识点:随机数密码,并且是8位字符串。  RANDOM是生成的是伪随机数,可以在里面在增加一个时间date。 修改下脚本: 运行: 先用for语句把之前创建的用户删

    2024年02月14日
    浏览(36)
  • Linux系统Shell脚本第三章:for、while循环及脚本实操

    目录 一、for循环 1、基本格式 2、类C语言格式 二、while循环 1、基本格式 2、死循环语句 三、跳出循环 1、continue跳出循环 2、break跳出循环 四、常用循环脚本实例 1、循环打印9*9乘法表 2、循环ping测试某个网段网络连通性 3、while死循环实现猜数字游戏 用于已知循环次数的场景

    2024年01月16日
    浏览(45)
  • Shell脚本攻略:文本三剑客之grep

    目录 一、理论 1.grep 2.sort 3.uniq 4.tr 5.cut 6.split 7.paste 二、实验 1. grep ​编辑 ​编辑 2.sort 3.uniq ​编辑 4.tr 5.cut 6.split 7.统计当前主机的连接状态 8.统计当前连接主机数 9.获取信息 (1)概念 grep是Linux中最常用的”文本处理工具”之一,grep与sed、awk合称为Linux中的三剑客。 grep的

    2024年02月07日
    浏览(51)
  • Shell脚本攻略:文本三剑客之awk

    目录 一、理论 1.awk原理 2.awk打印  3.awk条件判断 4.awk数组与循环 5.awk函数 6.常用命令 二、实验 1.统计磁盘可用容量 2.统计/etc下文件总大小 3.CPU使用率 4.统计内存 5.监控硬盘 (1)概念 awk由 Aho,Weinberger 和 Kernighan 创建的文本模式扫描和处理语言。 awk非常复杂,所以这不是一

    2024年02月08日
    浏览(50)
  • Shell脚本攻略:通配符、正则表达式

    目录 一、理论 1.通配符 2.正则表达式 二、实验 1.通配符 2.正则表达式 (1)概念 通配符只用于匹配文件名、目录名等,不能用于匹配文件内容,而且是已存在的文件或者目录。 各个版本的shell都有通配符,这些通配符是一些特殊的字符, 用户可以在命令行的参数中使用这些

    2024年02月07日
    浏览(45)
  • shell编程之循环语句与函数

    (1)将命令序列按格式写在一起 (2)可方便重复使用命令序列 (1)使用函数可以避免代码冲突 (2)将大的工程可以分割为若干小的功能模块,代码的可读性更强 3.1方式1: [function] 函数名 () { 命令系列 [return x]————————使用return或exit可以显示地结束函数 } 3.2方

    2024年02月07日
    浏览(42)
  • shell脚本----条件判断语句

    文件测试 test命令 测试表达是是否成立,若成立则返回0,否则返回其他的数 用法一:test 条件表达式 用法二:[ 条件表达式 ] 选项 含义 -e 测试目录或者文件是否存在 -d 测试是否为目录 -f 测试是否为文件 -r 测试当前用户是否有读的权限 -w 测试当前用户是否有写的权限 -x 测

    2024年02月01日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包