美文网首页
函数@bash

函数@bash

作者: WrRanX | 来源:发表于2019-08-19 07:37 被阅读0次

复用,复用,复用:经济又安全

介绍

shell中的函数(function)是指命令序列(定义),可引用或重用(语用)。

格式

一般格式如下:

name() { command; ... command; }

调用函数就像执行普通命令一样,输入函数名称即可执行。

特性

函数的重要特性是:

命令行上出现在函数后的参数会依次分配给位置参数$1,p2$3...。

之外,还有一些特性值得注意:

  1. 「子shell」:函数仅存在于它所定义的shell中,无法传给子shell;
  2. 「变量&目录」:函数对于当前目录或变量作出的修改在函数执行完毕之后依然会保留。

优势

函数的优势有:

  • 「速度更快」:是因为shell不需要搜索磁盘来查找程序、打开文件并将文件内容读入内存,只需要跳转到相应的位置;
  • 「管理模块化」@> 可以将相关的shell程序全都放进单个文件中。

函数的之外

删除自定义的函数:使用带有-f选项的unset命令可以从shell中删除函数。

从函数内部退出

  • 命令exit:如果在函数内部使用exit,不仅会终止函数的执行,而且还会使得调用该函数的shell程序退出,返回到命令行。
  • 命令return:如果您只是想退出函数,可以使用命令return,形如:return nn作为该函数的「返回状态」。
  • 缺省情况:如果忽略的话,则使用函数中最后执行的那条命令的「退出状态」,这种情况也适用于函数中没有包含return命令的时候。

注意:返回状态在其他方面和退出状态一样:可以使用shell变量$?来访问它,也可以在if/whileuntil命令中对其进行测试。

实践建议:可以将常用函数定义放入.profile中,或单独某文件如myfuncs,后在当前shell中执行该文件:. myfuncs

参考资料

UNIX/Linux/OS X中的Shell编程@ISBN: 9787115470416:https://book.douban.com/subject/30410589/

相关文章

  • 函数@bash

    复用,复用,复用:经济又安全 介绍 shell中的函数(function)是指命令序列(定义),可引用或重用(语用...

  • bash变量的作用域

    bash变量的作用域 bash有两类变量:全局变量和函数内变量 全局变量 定义在函数外面的函数就是全局变量。下面例...

  • bash函数的搜索顺序与重载

    bash函数的搜索顺序与重载 bash里面定义了同名的函数,哪一个有效呢?答案是:后面定义的覆盖前面定义的。 例子...

  • 2020-02-16 bash对"*"的主动解释会影响函数的结果

    bash对"*"的主动解释会影响bash函数的结果 如下定义了一个函数使用find模糊查找文件 准备查找项目里的测...

  • Bash编程008——函数(二)

    Bash编程008——函数(二) 8.1 函数库文件 为了方便地重用函数功能,可以创建函数库文件,保存常用的函数。...

  • Bash 数组和函数

    一、数组 bash 提供对于一维数组的支持,需要注意的是,它并不支持多维数组。通常情况下,数组的索引为一个整数,从...

  • Linux - Bash - Shell 函数

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。 Shell 函数 注意:上面的fu...

  • Bash破壳漏洞(CVE-2014-6271)

    漏洞范围: GNU Bash 版本小于等于4.3 漏洞成因: bash使用的环境变量是通过函数名称来调用的,导致漏...

  • shell脚本中的函数与子shell

    shell脚本中的函数与子shell 函数 函数的使用 bash中也有函数。一个函数就是一个子程序,是用于实现一串...

  • getopts 解析bash 命令行参数

    getopts 解析bash 命令行参数 Shell脚本中的一项常见任务是解析命令行参数。 Bash提供了内置函数...

网友评论

      本文标题:函数@bash

      本文链接:https://www.haomeiwen.com/subject/jtujsctx.html