関数とパラメータを変数として使用するシェルスクリプト

関数とパラメータを変数として使用するシェルスクリプト

関数名と引数が変数に格納されるシェルスクリプトがあります。私はそれを何と呼ぶべきかわかりません。 evalを使用または使用せずに試しましたが、何も正しく機能しません。

私のコード例:

VarFunction="Testfunc1"
VarName="Peter"
VarLastname="Lustig"
VarText="Is a really lucky guy!\n Maybe he knows some funny Stuff?"

eval ${VarFunction} "$VarName" "$VarLastname" "$VarText"


Testfunc1() {
     Name=$1
     LastName=$2
     Text=$3

     echo $Name 
     echo $Lastname
     echo $Text

}

関数自体が変数でない場合、スクリプトは正しく機能します。

Testfunc1 "$VarName" "$VarLastname" "$VarText"

しかし、動的に関数を呼び出したいです。

どうすればいいですか?

感謝と安否

ダンロック

ベストアンサー1

関数定義をどこに置くかについてです。関数を呼び出す前に宣言すると、変数を介して呼び出すこともできます。この試み:

VarFunction="Testfunc1"
VarName="Peter"
VarLastname="Lustig"
VarText="Is a really lucky guy!\n Maybe he knows some funny Stuff?"
Testfunc1() {
     Name=$1
     LastName=$2
     Text=$3

     echo $Name 
     echo $Lastname
     echo $Text 
}
${VarFunction} "$VarName" "$VarLastname" "$VarText"

おすすめ記事