bash中的grep函数_如何在Bash中编写函数

bash中的grep函数

在编程时,实际上是在定义要由计算机执行的过程或例程 一个简单的类比将计算机编程与烤面包进行比较:您一次列出了要设置工作环境的成分,然后列出了最终要面包所必须采取的步骤。 在编程和烘烤中,必须以不同的间隔重复执行某些步骤。 例如,在烤面包中,这可能是喂食发酵面团的过程:


     
     
     
     
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 )
}
功能 函数对程序员很重要,因为它们有助于减少代码中的冗余,从而减少了所需的维护量。 例如,在以编程方式烤制面包的假想场景中,如果您需要更改面团打样的时间,只要您以前使用过一个函数,则只需更改一次秒值,即使用变量(在示例代码中称为SNOOZE )或直接在处理面团的子例程中使用。 这样可以节省您很多时间,因为您不必遍历代码库就可能会遇到每一个提到面团变硬的问题,而不必担心丢失面团。 许多错误是由未更改的缺失值或执行不正确的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,请尝试在包含最后一行的情况下执行示例脚本一次,然后在注释掉最后一行的情况下再次执行示例脚本。

使用功能

即使对于简单的脚本,功能也是至关重要的编程概念。 您对功能的适应程度越高,面对一个复杂的问题(不仅需要声明性的命令行),还可以拥有更动态的功能,从而获得更好的收益。 将通用功能保存在单独的文件中还可以节省一些工作,因为这将帮助您建立常用的例程,以便可以在项目中重用它们。 查看您的脚本编写习惯,并查看函数可能适合的位置。

翻译自: https://opensource.com/article/20/6/bash-functions

bash中的grep函数

你可能感兴趣的:(bash中的grep函数_如何在Bash中编写函数)