関数名と引数が変数に格納されるシェルスクリプトがあります。私はそれを何と呼ぶべきかわかりません。 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"