小编典典

将参数传递给 Bash 函数

all

我正在尝试搜索如何在 Bash 函数中传递参数,但出现的始终是如何 从命令行 传递参数。

我想在我的脚本中传递参数。我试过了:

myBackupFunction("..", "...", "xx")

function myBackupFunction($directory, $options, $rootPassword) {
     ...
}

但是语法不正确。如何将参数传递给我的函数?


阅读 134

收藏
2022-02-25

共1个答案

小编典典

有两种典型的函数声明方式。我更喜欢第二种方法。

function function_name {
   command...
}

要么

function_name () {
   command...
}

调用带参数的函数:

function_name "$arg1" "$arg2"

该函数通过位置(而不是名称)引用传递的参数,即$1,$2等。 $0 是脚本本身的名称。

例子:

function_name () {
   echo "Parameter #1 is $1"
}

此外,您需要在声明函数 调用它。

#!/usr/bin/env sh

foo 1  # this will fail because foo has not been declared yet.

foo() {
    echo "Parameter #1 is $1"
}

foo 2 # this will work.

输出:

./myScript.sh: line 2: foo: command not found
Parameter #1 is 2

参考:高级 Bash 脚本指南

2022-02-25