我正在尝试搜索如何在 Bash 函数中传递参数,但出现的始终是如何 从命令行 传递参数。
我想在我的脚本中传递参数。我试过了:
myBackupFunction("..", "...", "xx") function myBackupFunction($directory, $options, $rootPassword) { ... }
但是语法不正确。如何将参数传递给我的函数?
有两种典型的函数声明方式。我更喜欢第二种方法。
function function_name { command... }
要么
function_name () { command... }
调用带参数的函数:
function_name "$arg1" "$arg2"
该函数通过位置(而不是名称)引用传递的参数,即$1,$2等。 $0 是脚本本身的名称。
$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 脚本指南。