通过编写函数来减少代码的冗余和维护来源:https://linux.cn/article-12323-1.html作者:Seth Kenlon译者:geekpi(本文字数:1791,阅读时长大约:2 分钟)。
通过编写函数来减少代码的冗余和维护在编程时,实际上是在定义要由计算机执行的 过程(procedure)或 例程(routine)一个简单的类比是将计算机编程与烤面包进行比较:你一次列出了要组建工作环境的配料,然后列出了烤面包所必须采取的步骤。
在编程和烘烤中,必须以不同的间隔重复执行某些步骤例如,在烤面包中,这可能是酵母培养的过程:STIR=100 SNOOZE=86400 function feed_culture { remove_from(pantry) add(flour, water) stir($STIR) sleep($SNOOZE) }
然后,揉面和醒发面团: KNEAD=600 SNOOZE=7200 function process_dough { remove_from(proofing_drawer) knead($KNEAD) return_to_drawer($SNOOZE) }
在编程中,这些 子例程(subroutines)可以表示为 函数(function)函数对程序员很重要,因为它们有助于减少代码中的冗余,从而减少了所需的维护量例如,在以编程方式烤制面包的假想场景中,如果你需要更改面团醒发的用时,只要你之前使用函数,那么你只需更改一次用时,或使用变量(在示例代码中为 。
SNOOZE)或直接在处理面团的子程序中更改用时这样可以节省你很多时间,因为你不必通过你的代码库遍历每个可能正在醒发的面团,更不用说担心错过一个许多 bug 是由未更改的缺失的值或执行不正确的 sed 命令引起的,它们希望捕获所有可能而不必手动寻找。
在 Bash 中,无论是在编写的脚本或在独立的文件中,定义函数和使用它们一样简单如果将函数保存到独立的文件中那么可以将它 source 到脚本中,就像 include C 语言或 C++ 中的库或将模块 。
import 到 Python 中一样要创建一个 Bash 函数,请使用关键字 function: function foo { # code here }这是一个如何在函数中使用参数的例子(有些人为设计,因此可能会更简单): 。
#!/usr/bin/env bash ARG=$1 function mimic { if [[ -z $ARG ]]; then ARG=world fi echo “hello $ARG” } mimic $ARG
结果如下: $ ./mimic hello world $ ./mimic everybody hello everybody请注意脚本的最后一行,它会执行该函数对于编写脚本的新手来说,这是一个普遍的困惑点:函数不会自动执行。
它们作为潜在的例程存在,直到被调用如果没有调用该函数,那么函数只是被定义,并且永远不会运行如果你刚接触 Bash,请尝试在包含最后一行的情况下执行示例脚本一次,然后在注释掉最后一行的情况下再次执行示例脚本。
使用函数即使对于简单的脚本,函数也是很重要的编程概念你越适应函数,在面对一个不仅需要声明性的命令行,还需要更多动态的复杂问题时,你就会越容易将通用函数保存在单独的文件中还可以节省一些工作,因为它将帮助你建立常用的程序,以便你可以在项目间重用它们。
看看你的脚本习惯,看是否适合使用函数via: https://opensource.com/article/20/6/bash-functions作者:Seth Kenlon 选题:lujun9972 译者:
geekpi 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容