什么是Linux中的Bash Function以及如何使用它?

Linux 中的 Bash 函数是什么?

Bash 函数是 bash 脚本中可重用的代码块,可以组合在一起并命名以避免重复编写相同的代码。与其他编程语言非常相似,您可以选择在bash脚本中使用函数。函数可帮助您将整个脚本组织到较小的模块中,从而使代码更具可读性、易于调试和可重用。换句话说,函数就像脚本中的脚本。

如何在 Bash 中定义函数?

现在你已经对什么是bash函数有了基本的了解,让我们看看如何定义它们以使我们的Linux工作流程更加容易。定义 bash 函数的基本语法是:

<function_name>(){
    <statements_to_execute>
}

您甚至可以使用上述语法的单行版本:

<function_name>() { <statements_to_execute>; }

关于定义 bash 函数要记住的一些要点包括:

  • 写在 {} 中的每个语句和命令都称为函数体。对于函数名称,您可以使用除关键字以外的任何内容,关键字是为不同命令保留的特定单词。
  • 与传统的 bash 脚本不同,函数不会执行,除非你调用它们。要执行函数,您需要使用函数名称。
  • 使用单行版本时,您编写的每个命令都必须用分号“;”分隔。
  • 在函数内声明的所有变量只能在函数主体内部访问。

让我们看一个基于上述语法的基本示例。首先在 Linux 文本编辑器中创建一个新文件,并在其中编写以下代码:

#!/bin/bash

hello_world () {
   echo 'hello, world'
}

hello_world
function_1

建议使用与函数名称相同的名称保存文件。要调用该文件,只需在 shell 提示符内输入函数名称并按回车键即可。

./hello_world
function_2

如何将参数传递给 Bash 函数

有时,您可能需要使用一些自定义值,或者使用您创建的函数的用户输入值。要将参数传递给 bash 函数,只需在将函数作为 Linux shell 变量调用函数后在函数名称后提及它们。至于在函数中使用参数,请将它们与 、 放在下面等等。例如:$<argument_position>$1$2

#!/bin/bash

greeting () {
  echo "Hello $1"
}

greeting "Beebom"
argument_1

若要调用,请使用以下命令:

./greeting.sh
arguments_2

如何从 Bash 函数返回值

与其他编程语言不同,在 bash 中,您不能从函数返回值。您只能使用介于 0 到 255 之间的任何数字将 bash 函数的返回状态发送到调用方,其中 0 表示成功,任何其他数字表示 Linux 系统错误/失败。例如,在 Linux 的 nano 编辑器中复制此代码。

#!/bin/bash

greeting () {
    echo "Hello $1"
   
 return 10
}

greeting "Beebom"
echo The return value is $?

return_1

调用上述脚本时,将获得类似的输出以及值 10,指示发生了故障或错误。

return_2

Bash 函数中的变量作用域

变量的作用域是指可以在 bash 中使用变量的代码部分。范围主要可分为两部分 – 全局范围和局部范围。使用全局范围,该变量可以在任何地方使用,包括直接在 shell 提示符中。局部作用域意味着变量不能在声明它的块之外使用。

您在带有“local”关键字的 bash 函数中声明的每个变量都属于函数体的局部范围,不能在函数体之外使用。同样,全局变量可以从 bash 脚本中的任何位置访问,没有任何限制。以下示例将清楚地说明:

#!/bin/bash

global_var="I am global"

function display_global() {
    echo "Inside function: $global_var"
    local local_var="I am local"
    echo "Inside function: $local_var"
}

display_global
echo "Outside function: $global_var"
echo "Outside function: $local_var"
variable_1

执行上述脚本后,您将看到以下输出:

variable_2

在 Bash 中使用函数的最佳实践

Bash 函数是强大的工具,可以增强 Linux 中 bash 脚本的结构、可维护性和可重用性。遵循以下最佳实践在 bash 中使用函数,这些函数可以极大地改善我们的工作流程:

  1. 保持函数简短而集中:尽量保持您编写的函数简短、简洁和集中,以执行单个任务。这将提高 bash 脚本的整体可读性和可维护性。
  2. 使用描述性名称:使用反映函数用途的简短但描述性名称作为函数名称。清晰而有意义的名称使代码更加不言自明,允许您以及其他开发人员维护和构建代码。
  3. 添加注释:不仅对于 bash 脚本,而且对于您使用的所有不同类型的编程语言,请使用注释来描述代码的哪一部分正在做什么。
  4. 重用函数:尽可能重用函数,以避免再次重写相同的代码。
  5. 避免函数名称冲突:避免使用与内置命令和其他命令行工具同名的函数。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun246444.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2023年8月1日 下午9:05
下一篇 2023年8月2日 下午5:59

相关推荐