GNU/Linux >> Belajar Linux >  >> Linux

Script Shell Dengan Fungsi Dan Parameter Sebagai Variabel?

saya mendapat skrip Shell tempat nama fungsi dan parameternya disimpan dalam variabel. Saya tidak tahu bagaimana menyebutnya. Saya mencobanya dengan eval dan tanpa, tetapi tidak ada yang berfungsi dengan benar.

contoh kode saya:

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

}

Ketika fungsi itu sendiri bukan variabel, skrip berfungsi dengan baik.

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

Tapi saya ingin memanggil fungsi secara dinamis.

Bagaimana saya bisa melakukannya?

Terima kasih dan salam

Danloc

Jawaban yang Diterima:

Ini tentang di mana Anda meletakkan definisi fungsi. Jika Anda mendeklarasikan fungsi sebelum dipanggil, Anda dapat memanggilnya bahkan dengan variabel. Coba ini:

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"

Linux
  1. Otomatisasi mysql_secure_installation dengan perintah gema melalui skrip shell

  2. Klarifikasi tentang perilaku skrip shell bersama dengan pipa

  3. Membuat template dengan Linux dalam Shell Script?

  1. Rekam terminal Anda dengan skrip dan pemutaran ulang skrip

  2. Di Bash, Kapan Alias ​​​​Kapan Skrip, Dan Kapan Menulis Fungsi?

  3. Menjalankan Script Dengan “. ” Dan Dengan “sumber”?

  1. Apa Artinya `:-` Dalam Skrip Shell?

  2. Perilaku Tak Terduga Dari Skrip Shell?

  3. Fungsi Dalam Variabel Shell?