Linux Bash定义和调用函数

通常,bash命令是定期执行的。因此,一个接一个地运行复杂或多个命令是很困难的。或者有时我们只想用一个命令来完成任务,而不需要深入其中并分发这个命令。这里有一些使事情变得非常简单的函数。函数获取参数并执行函数代码。函数有两种创建方法。这里是语法。喜欢第二个,因为可移植性很重要。

null
function function_name {  function_body}
function_name () {  function_body}

定义Bash函数

让我们创建一个函数,根据参数创建一个文件夹。

function test {        echo "Hello";        echo "poftut.com";}

如你所见,我们曾经 ; 使事情更清楚,但忽略它们不会损害我们的代码。将此代码另存为名为test.sh的文本文件。

向函数传递参数

有时函数需要在内部使用参数。在函数中使用参数非常容易,只需将参数放在括号之间并进行函数调用。内部功能块使用 $1, $2, $3, … 这是参数行号。

function getParameters(){         echo $1;         echo $2;         echo $3; }

并调用名为 获取参数 带参数。

$ . ./bash_function.sh$ getParameters p1 p2 p3
Passing Arguments or Parameters To Function
向函数传递参数

如您所见,在第一次运行时,我们为函数提供了三个参数,并打印了所有参数,但在第二次运行时,我们只提供了两个参数,第三个参数打印为空,因为它没有在函数do echo$3中定义;作为空行打印。

函数返回值

在前面的示例中,我们只是调用函数并在这些函数中运行一些语句,比如printf 函数的真正威力来自于它的模块性。我们可以调用函数并简单地返回一些数据。这是一个更好的方法,因为我们可以使用不同格式的函数结果。我们可以在函数中使用echo语句来结束函数并将给定的数据返回给调用者。在本例中,我们将创建一个名为 mycat 它将连接给定的两个字符串并返回结果。

function mycat(){         echo "$1 $2" }

可变范围

在bash中,可以从当前会话中的每个位置访问变量。这意味着默认情况下,每个变量都是全局变量。在函数外部定义的变量可以从函数内部访问。如果在不同的作用域中有相同名称的变量,这可能会产生问题。

局部变量

我们可以在函数中定义变量,使它们只能从函数内部访问。这也将防止函数内外相同命名变量的合谋。我们可以用 local 关键字使变量成为局部变量。在本例中,我们将创建名为 age 函数的内部和外部。我们将设置内部函数 age 作为本地人。

age=40  function pr(){         local age=20         echo $age }  pr  echo $age
Local Variables
局部变量

当我们从输出开始 age 将打印函数中的变量 20 而不是外部功能 age 可变印花 40 . 如果我们移除 local 从年龄变量,我们将得到20个变量打印。

相关文章: Javascript变量类型和范围

源代码块

Sourcing是bash中使用的一个术语,表示指定的bash脚本文件对于当前bash会话非常重要。认为您已经在bash文件中实现了一些函数,并且只想在当前bash会话中使用它们。我们使用下面的语法 测试.sh 包含要导入和删除的bash代码的文件 . 用于导入bash文件的运算符。

$ . test.sh$ getHostname lenovo.localhost
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享