返回顶部
首页 > 资讯 > 精选 >Shell脚本中条件控制和循环语句怎么用
  • 949
分享到

Shell脚本中条件控制和循环语句怎么用

2023-06-09 17:06:31 949人浏览 独家记忆
摘要

这篇文章主要介绍了shell脚本中条件控制和循环语句怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。条件判断:if语句语法格式:if [ expres

这篇文章主要介绍了shell脚本中条件控制和循环语句怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

条件判断:if语句

语法格式:

if [ expression ]thenStatement(s) to be executed if expression is truefi

注意:expression 和方括号([ ])之间必须有空格,否则会有语法错误。

if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if ... else 语句:

if ... fi 语句if ... else ... fi 语句if ... elif ... else ... fi 语句

示例:

#!/bin/bash/a=10b=20if [ $a == $b ]then echo "a is equal to b"elif [ $a -gt $b ]thenecho "a is greater to b"elseecho "a is less to b"fi

if ... else 语句也可以写成一行,以命令的方式来运行:

a=10;b=20;if [ $a == $b ];then echo "a is equal to b";else echo "a is not equal to b";fi;

if ... else 语句也经常与 test 命令结合使用,作用与上面一样:

#!/bin/bash/a=10b=20if test $a == $b then echo "a is equal to b"elseecho "a is not equal to b"fi

分支控制:case语句

case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构。

示例:

#!/bin/bash/grade="B"case $grade in "A") echo "Very Good!";;"B") echo "Good!";;"C") echo "Come On!";;*) echo "You Must Try!"echo "Sorry!";;esac

转换成C语言是:

#include <stdio.h>int main(){char grade = 'B';switch(grade){case 'A': printf("Very Good!");break;case 'B': printf("Very Good!");break;case 'C': printf("Very Good!");break;default: printf("You Must Try!");printf("Sorry!");break;}return 0;}

对比看就很容易理解了。很相似,只是格式不一样。

需要注意的是:

取值后面必须为关键字 in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。;; 与其他语言中的 break 类似,意思是跳到整个 case 语句的最后。

取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。

再举一个例子:

#!/bin/bashoption="${1}"case ${option} in"-f") FILE="${2}"echo "File name is $FILE";;"-d") DIR="${2}"echo "Dir name is $DIR";;*) echo "`basename ${0}`:usage: [-f file] | [-d directory]"exit 1 # Command to come out of the program with status 1;;esac

运行结果:

$./test.shtest.sh: usage: [ -f filename ] | [ -d directory ]./test.sh -f index.htmlFile name is index.html

这里用到了特殊变量${1},指的是获取命令行的第一个参数。

for循环

shell的for循环与c、PHP等语言不同,同python很类似。下面是语法格式:

for 变量 in 列表

docommand1command2...commandNdone

示例:

#!/bin/bash/for value in 1 2 3 4 5do echo "The value is $value"done

输出:

The value is 1The value is 2The value is 3The value is 4The value is 5

顺序输出字符串中的字符:

for str in 'This is a string'doecho $strdone

运行结果:

This is a string

遍历目录下的文件:

#!/bin/bashfor FILE in *doecho $FILEdone

上面的代码将遍历当前目录下所有的文件。在linux下,可以改为其他目录试试。

遍历文件内容:

city.txt

beijingtianjinshanghai#!/bin/bashcitys=`cat city.txt`for city in $citysecho $citydone

输出:

beijing
tianjin
shanghai

while循环

只要while后面的条件满足,就一直执行do里面的代码块。

其格式为:

while command
do
Statement(s) to be executed if command is true
done

命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。

示例:

#!/bin/bashc=0;while [ $c -lt 3 ]doecho "Value c is $c"c=`expr $c + 1`done

输出:

Value c is 0
Value c is 1
Value c is 2

这里由于shell本身不支持算数运算,所以使用expr命令进行自增。

until循环

until 循环执行一系列命令直至条件为 true 时停止。until 循环与 while 循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候,也只是极少数情况下,until 循环更加有用。

将上面while循环的例子改改,就能达到一样的效果:

#!/bin/bashc=0;until [ $c -eq 3 ]doecho "Value c is $c"c=`expr $c + 1`done

首先do里面的语句块一直在运行,直到满足了until的条件就停止。

输出:

Value c is 0
Value c is 1
Value c is 2

跳出循环

在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环。

break

break命令允许跳出所有循环(终止执行后面的所有循环)。

#!/bin/bashi=0while [ $i -lt 5 ]doi=`expr $i + 1`if [ $i == 3 ]thenbreakfiecho -e $idone

运行结果:

1
2

在嵌套循环中,break 命令后面还可以跟一个整数,表示跳出第几层循环。例如:

break n

表示跳出第 n 层循环。

continue

continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。

#!/bin/bashi=0while [ $i -lt 5 ]doi=`expr $i + 1`if [ $i == 3 ]thencontinuefiecho -e $idone

运行结果:

1
2
4
5

感谢你能够认真阅读完这篇文章,希望小编分享的“Shell脚本中条件控制和循环语句怎么用”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: Shell脚本中条件控制和循环语句怎么用

本文链接: https://lsjlt.com/news/256989.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Shell脚本中条件控制和循环语句怎么用
    这篇文章主要介绍了Shell脚本中条件控制和循环语句怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。条件判断:if语句语法格式:if [ expres...
    99+
    2023-06-09
  • Shell脚本的条件控制和循环语句
    条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre...
    99+
    2022-06-04
    语句 脚本 条件
  • shell脚本中case条件控制语句的使用
    本篇内容介绍了“shell脚本中case条件控制语句的使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在shell脚本中,发现case语句...
    99+
    2023-06-09
  • shell脚本实战中while循环语句怎么用
    这篇文章给大家分享的是有关shell脚本实战中while循环语句怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言while循环语句的语法分析语法格式一:while [条件]do 操作d...
    99+
    2023-06-09
  • shell脚本编程之循环语句怎么用
    小编给大家分享一下shell脚本编程之循环语句怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循...
    99+
    2023-06-09
  • C#中怎么使用条件语句和循环语句
    在C#中,条件语句一般使用if语句来实现,循环语句一般使用for循环、while循环、do-while循环等来实现。以下是一些示例:...
    99+
    2024-03-06
    C#
  • Shell脚本中for循环、while循环及case分支语句怎么用
    本篇内容主要讲解“Shell脚本中for循环、while循环及case分支语句怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell脚本中for循环、while循环及case分支语句怎么...
    99+
    2023-06-28
  • Shell脚本应用 – for、while循环语句
    通过Shell脚本应用(二)学习到了if条件条件语句的使用方法等。Shell作为一种脚本编程语言,同样了包含了循环,分支等其他程序控制结构,从而能够轻松完成更加复杂、强大的功能。我们今天就来认识for、while、case语句的具体应用。一...
    99+
    2023-06-05
  • 快速入门Shell脚本之条件判断语句与循环
    相信大家已经对shell脚本有一定的了解了,大家对于shell脚本的条件判断语句一定非常期待。本篇博客,我们来聊一聊关于shell的条件判断语句与循环。 1.条件判断 1.1基本语法 [condition] 注意:...
    99+
    2022-06-04
    Shell 条件判断 Shell 循环
  • shell脚本中case条件控制语句的一个bug分析
    在shell脚本中,发现case语句的一个问题。就是指定小写字母[a-z]和大写字母[A-Z]的这种方法不管用了。 出现如下情况: [root@station1 ~]# cat case.sh#!/bin...
    99+
    2022-06-04
    语句 脚本 条件
  • python条件语句和while循环语句怎么用
    这篇文章主要介绍“python条件语句和while循环语句怎么用”,在日常操作中,相信很多人在python条件语句和while循环语句怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python条件语句和...
    99+
    2023-06-30
  • 如何使用Shell脚本for循环语句
    本篇内容主要讲解“如何使用Shell脚本for循环语句”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Shell脚本for循环语句”吧!与其他编程语言类似,Shell支持for循环。for...
    99+
    2023-06-09
  • 如何使用Shell脚本while、until循环语句
    这篇文章主要讲解了“如何使用Shell脚本while、until循环语句”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Shell脚本while、until循环语句”吧!一、while...
    99+
    2023-06-09
  • PHP学习笔记:条件语句与循环控制
    【引言】在学习PHP编程语言过程中,条件语句与循环控制是必须掌握的基础知识点。条件语句用于根据不同的情况执行不同的代码,而循环控制则允许我们重复执行一段代码多次。本文将详细介绍PHP中的条件语句与循环控制,并提供具体的代码示例。【一、条件语...
    99+
    2023-10-21
    学习 PHP 条件语句 循环控制
  • 如何在Shell脚本中使用条件测试和if条件语句
    今天就跟大家聊聊有关如何在Shell脚本中使用条件测试和if条件语句,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、条件测试操作要使Shell脚本程序具备一定的“智能”,面临的第一...
    99+
    2023-06-09
  • r语言中怎么进行条件判断和循环控制
    在R语言中,可以使用if语句进行条件判断,使用for循环、while循环、repeat循环等语句进行循环控制。 使用if语句进行条...
    99+
    2024-03-02
    r语言
  • Shell脚本的条件测试和if条件语句使用方法
    一、条件测试操作 要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值(¥?)来判断是否执行成功,当返回值为0时表示成功,否则(非...
    99+
    2022-06-04
    Shell 条件测试 Shell if条件语句
  • 如何在shell脚本中使用case条件语句
    这期内容当中小编将会给大家带来有关如何在shell脚本中使用case条件语句,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。#case条件语句的语法格式case "变量"&nb...
    99+
    2023-06-09
  • Python中条件语句、循环语句和pass语句的使用示例
    目录一、条件语句1、if……else……语句 1)单分支2)双分支 2、if…&hellip...
    99+
    2024-04-02
  • 通过PHP的while循环语句实现条件判断与循环控制
    标题:利用PHP的while循环语句实现条件判断与循环控制 在PHP编程中,while循环语句是一种常用的循环结构,它可以通过条件判断实现循环控制,使得程序能够根据特定的条件重复执行某...
    99+
    2024-03-08
    php while循环 条件控制
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作