関数名とそのパラメーターが変数に格納されているシェルスクリプトを入手しました。どう呼べばいいのかわからない。 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"
しかし、関数を動的に呼び出したいのです。
どうすればそれができますか?
ありがとうと挨拶
ダンロック
承認された回答:
これは、関数定義を配置する場所についてです。関数を呼び出す前に宣言すると、変数でも呼び出すことができます。これを試してください:
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"