Shell---函数

  • 作用
  • 定义
  • 函数返回值
  • 函数传参
  • 函数变量的作用范围
  • 递归
    • 阶乘
    • 递归目录文件
  • 函数库

作用

  1. 将命令序列按格式写在一起
  2. 可方便重复使用命令序列

定义

  1. function 函数名 {命令序列
    }
    
  2. 函数名(){命令序列
    }
    

函数返回值

return表示退出函数并返回一个退出值,脚本中可以用$?变量显示该值使用原则:

  1. 函数一结束就取返回值,因为$?变量只返回执行的最后一条命令的退出状态码
  2. 退出状态码必须是0~255,超出时值将为除以256取余

函数传参

函数变量的作用范围

  1. 函数在Shell脚本中仅在当前Shell环境中有效
  2. Shell脚本中变量默认全局有效
  3. 将变量限定在函数内部使用local命令

递归

阶乘

  1. 脚本命令

    fact () {if [ $1 -eq 1 -o $1 -eq 0  ];thenecho 1elif [ $1 -gt 1 ];thenlocal temp=$[$1 - 1]local result=$(fact $temp)echo $[$1 * $result]elseecho "不存在"fi
    }
    esult=$(fact $1)
    echo "$1 的阶乘$result"
    
  2. 验证

递归目录文件

  1. 需求

    • mkdir -p /root/bin/aa/bb/cc/dd
    • touch /root/bin/aa/bb/cc/dd/abc.txt
    • 输出环境变量PATH所包含的所有目录以及其中的子目录和所有不可执行文件
  2. 脚本命令

    list_files() {for i in $(ls $1)doif [ -d "$1/$i" ];thenecho "$2$i"list_files "$1/$i" " $2"elseif [ ! -x "$1/$i" ];thenecho "$2$i"fifidone
    }
    #-------------main---------
    OLDIFS=$IFS
    IFS=$IFS':'
    for folder in $PATH
    doecho $folderlist_files "$folder" "  "
    done
    IFS=$OLDIFS
    
    1. 验证

函数库

  1. 建立函数库

  2. 调用函数库

  3. 操作验证

Shell---函数相关推荐

  1. Shell 函数、数组与正则表达式

    防伪码:白日依山尽,黄河入海流. 5.1  函数 格式: func() { command } 示例 1: #!/bin/bash func() { echo "This is a func ...

  2. linux使用shell函数扩充命令,Linux Shell系列教程之(十五) Shell函数简介 | Linux大学...

    摘要 函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰,代码重复利用率更高. 高级语言都支持函数,Shell也不例外.今天就为大家介绍下Shell中函数相关用法. 函数可以将一个复杂功能划 ...

  3. shell 死循环if判断_运维小技巧(2):shell函数

    shell函数是什么 shell函数可以看作是一组shell命令的组合,用来完成一个特定的功能,它的功能和java中的方法类似. 2. shell函数长什么样 铛铛铛,先上代码. function l ...

  4. Shell函数详解(函数定义、函数调用)

    Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可. Shell 中的函数和C++.Java.Python.C# 等其它编程语言中的函数类 ...

  5. Shell函数返回值、删除函数、在终端调用函数

    Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: function_name () {list of commands[ return value ] } ...

  6. linux shell 字符串 数组,bash shell函数返回数组字符串

    #!/bin/bash # script:getselfvar.sh # 每个脚本中都在末尾追加了一段特殊的域名ip序列,需要将这段序列存放到数组变量中,供 # 脚本使用,例子中的ip和域名是处理过的 ...

  7. case分支 shell函数 字符串的处理

    目录 case分支 编写nginx脚本 shell函数 什么是函数? 使用函数的好处? 服务脚本中的函数应用 如何定义一个函数 脚本中断 编写脚本,从1-20中找到6的倍数 编写脚本,for嵌套 字符 ...

  8. .sql文件如何执行_Excel如何运行可执行文件,别急,用过vba Shell函数的都知道

    由于Excel和Windows的关系,天然就赋予了强大的基因.执行个文件真的太小意思了. vba shell 函数 格式:Shell(PathName[,WindowStyle]) PathName ...

  9. linux shell函数

    linux shell函数

  10. 【拔刀吧少年】之shell函数

    函数 一.shell函数定义 二.格式 三.函数返回值 四.函数传参 五.函数变量的作用范围 六.递归 1.阶乘 2.递归查目录 七.创建函数库 总结 一.shell函数定义 将命令序列按格式写在一起 ...

最新文章

  1. Vue 2 | Part 4 v-bind绑定元素属性和样式
  2. 第39章 数据的并发处理
  3. 昇腾 OSError: [Errno 22] Invalid argument: ‘protocol‘
  4. iis php 图片无法显示,iis php 图片无法显示怎么办
  5. .pyc文件_python专题shutil高阶文件操作
  6. Java 获取当前时间
  7. python 创建json_使用Django和Python创建Json response的方法
  8. wpf项目中类库内新建用户控件和自定义控件的问题
  9. vegan稀释曲线 基因丰度_R语言 vegan包计算物种累计曲线
  10. 文本输入框,实现模糊搜索结果
  11. 火灾检测、人流量统计、安全帽检测,飞桨开源一键运行的产业案例教程
  12. 正则表达式匹配多字符(二)
  13. 【读书笔记】终极算法
  14. 使用Mousetrap处理键盘快捷键(keypress.js和jQuery.hotkeys.js的使用)
  15. 朱老师Study210开发板刷系统实验(Win10系统)
  16. ESP8266-Arduino编程实例-MPL3115A2压力传感器驱动
  17. android PIN码解锁流程
  18. mysql安装ecshop_如何安装ecshop
  19. 如何用Appium连接并操作手机App
  20. 服务器支持win10,服务器版Windows 10太强大了:容器最亮

热门文章

  1. url地址栏传json格式数据参数
  2. 全志T507如何在Android系统上进行OTA升级
  3. 一生的读书计划——影响中国历史进程的中国名人
  4. 河南单招计算机分数线,2017年河南高职院校单招录取分数线
  5. 旗帜软件工作室年会总结
  6. continue在while循环的使用,禁忌
  7. MindManager2021 Win/Mac v2020.19.思维导图软件安装下载激活教程
  8. 【历史上的今天】9 月 13 日:“海盗湾”创始人出生;第一台装载硬盘的超级计算机;《超级马里奥兄弟》发布
  9. 【ubuntu】首选项和应用程序命令(preference application)
  10. Java 解压缩各种格式