函数@bash

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

介绍

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/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,945评论 0 5
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,131评论 0 10
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 5,457评论 0 0
  • 作为 Linux/Unix 系统上内核与用户之间的接口,shell 由于使用方便、可交互能力强、具有强大的编程能力...
    比轩阅读 4,585评论 0 1
  • 今天在家妈妈煮了鸡汤面,熟悉的味道好好吃,吃的好胀,休息的时间总是过得那么快,一眨眼一天又过了
    茶女子张怡阅读 884评论 0 0