首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Shell编程基础 – for循环

  • 25-03-02 15:01
  • 2941
  • 9390
blog.csdn.net

Shell编程基础 – for循环

Shell Scripting Essentials - for Loop

大多数编程语言都有循环的概念和语句。如果想重复一个任务数十次,无论是输入数十次,还是输出数十次,对用户来说都不现实。

因此,我们考虑如何用好Bash Shell编程,挖掘它的力量来促成循环,并高效完成任务。我们知道,在Bourne Shell中拥有For, While循环,可能这个功能比其它语言少,但没有人声称Shell编程具有C语言的强大功能。

本文简要介绍for循环在shell编程过程的应用,希望对您有所帮助。

1. For循环

For循环遍历一组值,直到列表耗尽为止。
以下示例为非嵌套的单循环,代码如下。

1) 示例一:
#!/bin/bash
for I in 1 2 3 4 5
do 
  echo “Looping … number $i”
done
  • 1
  • 2
  • 3
  • 4
  • 5

运行结果如下图:
在这里插入图片描述

2) 示例二

尝试用以下代码运行:

#!/bin/sh
for i in hello 1 * 2 goodbye 
do
  echo "Looping ... i is set to $i"
done
  • 1
  • 2
  • 3
  • 4
  • 5

于是,运行代码结果如下图:

在这里插入图片描述
调试这段代码,看看它有什么作用。请注意,这些值可以是任意值。

这非常值得一试。确保您了解这里发生的事情。

  • 尝试不带 * 并掌握这个想法,然后重新阅读通配符部分并在 * 到位的情况下再次尝试。
  • 也可以在不同的目录中尝试它,并用双引号将 * 括起来,并尝试在它前面加上反斜杠 (*)

上述脚本的运行结果已经看到了。在变量序列里,位于1和2之间的…(省略号)输出元素,代表着当前目录的第一个文件名for1.sh,和当前目录的第二个文件名for2.sh。

3) 示例三:

输出从1至20之间的偶数。

#!/bin/bash

for I in {0..20..2}
do
   echo “The even number is: $i”
done
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

4) 示例四:

变换一下上述题的规则,例如:我们想要输出从零到100的,并且能被7整除的数字。

#!/bin/bash
for i in {0..100..7}
do 
   echo “The number divided by 7 is: $i”
done
  • 1
  • 2
  • 3
  • 4
  • 5

执行结果如下图:
在这里插入图片描述

5) 示例五

下面让我们一起完成九九乘法表吧。
根据乘法公式推算,这必须符合被乘数与乘数相乘,然后得出结果。

#!/bin/bash

for((i=1; i<=9; i++))
do
  dor((j=1;j<=I;J++))
  do 
     echo -en “$i * $j = $[i*j]\t”
  done
  echo -e “\r”
done
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

执行结果如下图:
在这里插入图片描述
好了,九九乘法表就打印结束了。

技术好文陆续推出,请关注我的博文。
您的兴趣,我的动力!

Jackson@ML

注:本文转载自blog.csdn.net的Jackson@ML的文章"https://jackson.blog.csdn.net/article/details/134678601"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top