Mám shell skript, kde je název funkce a její parametry uloženy v proměnných. nevím jak to nazvat. Zkoušel jsem to s eval i bez, ale nic nefunguje správně.
příklad mého kódu:
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
}
Když funkce sama o sobě není proměnná, skript funguje dobře.
Testfunc1 "$VarName" "$VarLastname" "$VarText"
Ale chci funkci volat dynamicky.
Jak to mohu udělat?
Děkuji a zdravím
Danloc
Přijatá odpověď:
Jde o to, kam vložíte definici funkce. Pokud funkci deklarujete před jejím voláním, můžete ji volat i pomocí proměnné. Zkuste toto:
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"
Nejlepší způsob, jak implementovat podporu klávesových zkratek v Linuxu?
Jak zjistit, zda bootuji pomocí Uefi?