0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

shell脚本基础知识汇总4

jf_78858299 来源:阿Q正砖 作者:阿Q正砖 2023-02-15 10:49 次阅读

break与continue

与其他编程相同里的概念相同,代码示例如下:

# break示例:
while true
do
    echo -n "输入 1 到 5 之间的数字:"
    read aNum
    case $aNum in
        1|2|3|4|5) echo "你输入的数字为 $aNum!"
        ;;
        *) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
            break
        ;;
    esac
done
# 输出结果
输入 1 到 5 之间的数字:3
你输入的数字为 3!
输入 1 到 5 之间的数字:7
你输入的数字不是 1 到 5 之间的! 游戏结束




# continue示例
while true
do
    echo -n "输入 1 到 5 之间的数字:"
    read aNum
    case $aNum in
        1|2|3|4|5) echo "你输入的数字为 $aNum!"
        ;;
        *) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
            continue
            echo "游戏结束"
        ;;
    esac
done
# 输出结果,无法结束
输入 1 到 5 之间的数字:3
你输入的数字为 3!
输入 1 到 5 之间的数字:7
你输入的数字不是 1 到 5 之间的! 游戏结束
输入 1 到 5 之间的数字:

select

选择一个列表中的一个值,item列表值可以分别单独写出来,也可以是一个列表

语法格式如下:

select var in item1 item2..itemN
do
    command
done

代码示例如下:

list=(a b)
PS3="Please select the value:"
select var in ${list[*]};do
    break
done
echo "your select is $var"


# 输出结果
1) a
2) b
Please select the value:1
your select is a

1.9 函数

函数定义

shell中函数的定义格式如下, 其中return的返回值在[0-225] 之间,如果不加return将以最后一条命令运行结果,作为返回值.


[ function ] funname()
{
    action;
    [return int;]
}

示例代码:

# 完整格式定义函数
function test1() {
    echo "hello world1"
    return 0
}
# 简写的函数定义
test2() {
    echo "hello world2"

}


# 函数调用
test1
# 获取上一条指令的返回值,紧接着test1之后就是代表获取test1函数的返回值
echo $?
test2




# 输出结果
hello world1
0
hello world2

函数参数

在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $$

n 的形式来获取参数的值,例如,

$1表示第一个参数,$2表示第二个参数,依此类推。`$*`表示所有的参数,`$#`表示参数的个数 带参数的函数示例: ``` add() { echo "parmas: $*" echo "params count:$#" return $(($1+$2)) } add 1 2 echo "sum is $?" # 输出结果 parmas: 1 2 params count:2 sum is 3 ``` 根据上面的定义来看shell函数只能返回整形且为0-255之间,那么我们想返回字符串或者数组有没有其他办法呢? 我们可以通过其他方法来实现类似的效果的,示例代码如下: **获取字符串**结果,调用的时候通过`$(function_name param)`方式来调用,那这个函数里面所有`echo`出来的字符串就会赋值给你的变量,示例如下: ``` hello() { echo "say hello to $1" } result=$(hello world) echo $result # 输出结果 say hello to world ``` **获取数组** ,这个可以通过定义全局变量,在函数里面对其赋值 ``` arr=() testArray() { arr[0]=1 arr[1]=2 } testArray echo "arr content is ${arr[*]}" echo "arr size is ${#arr[*]}" # 输出结果 arr content is 1 2 arr size is 2 ``` # **2.参考** bash手册:https://www.gnu.org/software/bash/manual/bash.html Zsh手册: https://zsh.sourceforge.io/Doc/Release/index.html#Top
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10994

    浏览量

    206779
  • 文本编辑器
    +关注

    关注

    0

    文章

    24

    浏览量

    8069
  • javascript
    +关注

    关注

    0

    文章

    511

    浏览量

    53415
  • Shell脚本
    +关注

    关注

    0

    文章

    33

    浏览量

    7912
收藏 人收藏

    评论

    相关推荐

    shell脚本进阶】几个常用的shell进阶脚本

    shell脚本进阶】几个常用的shell进阶脚本
    的头像 发表于 09-19 08:59 1453次阅读
    【<b class='flag-5'>shell</b><b class='flag-5'>脚本</b>进阶】几个常用的<b class='flag-5'>shell</b>进阶<b class='flag-5'>脚本</b>

    Shell基础知识(上)

    shell脚本在日常的Linux系统管理工作中是必不可少的。如果不会写shell脚本,你就不算是一个合格的管理员。目前,很多单位在招聘Linux系统管理员时,
    发表于 11-14 09:24 304次阅读

    基础知识汇总!!!

    基础知识汇总
    发表于 11-07 18:14

    Shell脚本编程实验

    指示灯每隔一秒交替闪亮10次按照图中的脚本一字一句输入就行了,其中Shell基础知识一点都不清楚的话多百度下吧,上面有很多相关知识。这里我就脚本
    发表于 10-22 18:25

    电镀的基础知识汇总

    :没有严格规范操作就不可能镀出合格的电镀产品!因此要使自己能胜任电镀工这个岗位,就必须懂一点电镀的基本常识,通过理论上的培训,实践操作合格,这样才能真正的做合格的电镀工。以下是电镀基础知识汇总的的70个问答(上篇),希望能帮到身边的电镀师傅们。
    发表于 02-26 06:56

    shell脚本最简明的教程

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合
    的头像 发表于 10-16 11:27 4362次阅读
    <b class='flag-5'>shell</b><b class='flag-5'>脚本</b>最简明的教程

    Linux命令行和shell脚本编程宝典PDF版电子书免费下载

    基础知识;第2部分介绍shell脚本;第3部分介绍shell脚本编程的高级内容;第4部分介绍如何使用Linux环境中的各种
    发表于 03-20 13:41 0次下载

    华为EMC基础知识汇总资源下载

    华为EMC基础知识汇总资源下载
    发表于 06-04 11:10 110次下载

    109个实用shell脚本分享

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合
    的头像 发表于 03-16 08:58 2269次阅读

    Linux中shell脚本编程

    编译型语言:如 c语言解释型语言:shell 脚本
    的头像 发表于 04-18 11:58 2838次阅读

    Linux开发_Makefile规则与Shell脚本语言

    介绍Linux下Makefile编程知识点,Shell脚本知识点。
    的头像 发表于 09-17 15:40 955次阅读

    shell脚本基础知识汇总1

    Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。 Linux 的 Shell 种类众多,常见的有:
    的头像 发表于 02-15 10:48 548次阅读

    shell脚本基础知识汇总2

    Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。 Linux 的 Shell 种类众多,常见的有:
    的头像 发表于 02-15 10:48 470次阅读

    shell脚本基础知识汇总3

    Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。 Linux 的 Shell 种类众多,常见的有:
    的头像 发表于 02-15 10:49 563次阅读

    shell脚本基础知识

    shell脚本是一个文件,里面存放的是特定格式的指令,系统可以使用脚本解析器翻译或解析指令并执行(无需编译),shell脚本的本质是
    的头像 发表于 04-17 15:00 720次阅读