1. ホーム
  2. bash

[解決済み] Bash関数にパラメータを渡す

2022-03-16 19:51:54

質問

Bash関数でパラメータを渡す方法を検索しているのですが、出てくるのはいつも、パラメータを コマンドライン .

スクリプト内でパラメータを渡したいのですが。試してみました。

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

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

しかし、構文が正しくありません。関数にパラメータを渡すにはどうしたらよいのでしょうか?

どのように解決するのですか?

関数を宣言する方法には、2つの典型的な方法があります。私は2番目の方法を好みます。

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 スクリプティングアドバンスガイド .