Shell脚本循环语句与函数

本文详细介绍了Shell脚本中的循环语句,包括for、while、until的结构与用法,以及各种循环应用场景。此外,还深入讲解了Shell函数的定义、基本格式、返回值、作用范围和递归函数。最后,文章提到了数组的定义、分类、定义方式及冒泡排序的算法思路。
摘要由CSDN通过智能技术生成

前言

一、循环语句

(1)for循环语句

格式:
for 变量名 in 取值列表
do
命令序列
done

  • 用法:
    • 读取不同的变量值,用来逐个执行同一组命令
    • for循环经常使用在已经知道要进行多少次循环的场景

在这里插入图片描述

  • 语法结构:
    (1)列表循环
    (2)不带列表循环
    (3)类C风格的for循环

  • 调用显示i的值

在这里插入图片描述

  • for语句案列

    for i in {1..5}    //{}里面不识别变量
    do
             echo $i
    done
    

在这里插入图片描述

for i in `seq 5`   //seq 5=1、2、3、4、5序列
do      
          echo $i
done

在这里插入图片描述

a=10
for i in `seq $a`    //seq可以引用变量
do
        echo $i
done

在这里插入图片描述

花括号{}和seq在for循环的应用:
for i in {1…50…2} 1-50的奇数
for i in {2…50…2} 1-50的偶数
for i in {10…1} 1-10倒序排列
for i in $(seq 10) 1-10正序排列
for i in $(seq 10 -1 1) 1-10倒序排列
for i in $(seq 1 2 10) 1-10的奇数,中间为步长
for i in $(seq 0 2 10) 1-10的偶数,中间为步长

在这里插入图片描述

  • 不带列表循环执行时由用户指定参数和参数的个数决定的

    for 变量名 
    do
        command
    done
    

在这里插入图片描述

  • 批量创建用户

在这里插入图片描述

  • 根据ip地址列表检查主机状态

在这里插入图片描述

  • 判断密码输入是否正确

在Ubuntu系统中,shell脚本循环语句的写法可以采用while循环来实现。具体的语法如下所示: ```shell #!/bin/bash while [ condition ] do # 循环体 done ``` 在这个语法中,你需要将`condition`替换为一个条件表达式,只有当条件表达式为真时,循环体中的代码才会被执行。你可以在循环体内部编写需要重复执行的代码。当条件表达式为假时,循环会终止。 例如,如果你想要实现一个简单的循环,直到用户输入"close"为止,可以使用以下的代码: ```shell #!/bin/bash value="" while [ "$value" != "close" ] do read -p "请输入字符串:" value done echo "停止循环!" ``` 这个脚本会不断要求用户输入字符串,直到输入的字符串为"close"为止。一旦输入的字符串为"close",脚本会输出"停止循环!"。注意,`read`命令用于读取用户的输入,并将其赋值给`value`变量。 希望这个答案能满足你的需求,如果你还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux(ubuntu)shell脚本条件判断函数和循环(入门必看)](https://blog.csdn.net/weixin_68773927/article/details/126780831)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值