栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

shell编程基础(第9篇:循环)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

shell编程基础(第9篇:循环)

前言

    在生活中我们总会做重复的事情,程序中使用循环模拟做重复的事情,任何语言都有循环语句,在shell编程中,支持3种循环的语法,分别是while、for、for in!

while的两种语法

1、放在同一行

while condition; do
    command
done

while与do放在同一行,使用;隔开,while每次会判断condition的退出状态码,如果为0,则执行循环体的代码

2、不放在同一行

while condition
do
    command
done

while与do不在同一行,此时不需要;

单行写法
while true; do echo 'hello world'; done

使用;隔开即可

只判断退出状态码
while true; do 
    echo 'hello world'; 
done

由于true这个命令的退出状态码永远为0,所以循环将一直进行下去。只要有退出状态码的命令都可以放在while的后面,它们可以是

1、函数

2、一个命令

3、另一个脚本程序

等等,只要有退出状态码,则可作为条件

多个条件,只认最后一个条件
while true; false; do 
    echo 'hello world'; 
done

同一行,只认最后一个条件的退出状态码

while总结

1、几乎与if的标准一样,条件就是退出状态码,所以test命令也经常作为条件来使用

2、while的使用率还挺多的,请学会它吧

for in语法

1、放在同一行

for item in hello world; do
    echo $item
done

2、不放在同一行

for item in hello world
do
    echo $item
done
列表

在for in语法中,in后面跟着是列表,且列表以空白字符(空格、换行、制表、任意字符)分隔的单词组成的列表,循环中,列表中的单词会一个一个被遍历,所以我们经常可以利用命令替换的返回值,进行遍历,比如遍历当前工作目录下的每一个文件

for file in $(ls);do
    echo $file
done

写在一行
for item in hello world;do echo $item; done

利用文件名替换
for i in *.png; do
  echo $i
done

for in总结

1、记住一条,in后面的是由空白字符分隔的单词列表(注意:IFS可以修改默认的分隔符)

for语法

    类C语言的创新是计算机高级语言的鼻祖,shell编程同样也学习C语言的for语法

for (( i=0; i<5; i=i+1 )); do
  echo $i
done

    语法呢,双括号,哈哈,躲不掉!!在双圆括号中,访问变量值,连美元符都可以省去了!!

无限循环
for ((;;))
do
    echo hello world
    sleep 5
done

最后的总结

1、shell编程中,支持while、for in、for,3种循环方式

2、其实还有另外一种until,由于不常用,本文不再提及

3、无论什么语言,遵守其标准语法,学习起来事半功倍!!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1002203.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号