GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa menjalankan fungsi dari skrip di baris perintah?

Jika skrip hanya mendefinisikan fungsi dan tidak melakukan apa pun, Anda dapat mengeksekusi skrip terlebih dahulu dalam konteks shell saat ini menggunakan source atau . perintah dan kemudian cukup panggil fungsinya. Lihat help source untuk informasi lebih lanjut.


Perintah berikut pertama-tama mendaftarkan fungsi dalam konteks, lalu memanggilnya:

. ./myScript.sh && function_name

Yah, sementara jawaban lainnya benar - Anda pasti dapat melakukan sesuatu yang lain:jika Anda memiliki akses ke skrip bash, Anda dapat memodifikasinya, dan cukup letakkan di akhir parameter khusus "[email protected]" - yang akan diperluas ke argumen dari baris perintah yang Anda tentukan, dan karena "sendiri", shell akan mencoba memanggilnya kata demi kata; dan di sini Anda bisa menentukan nama fungsi sebagai argumen pertama. Contoh:

$ cat test.sh
testA() {
  echo "TEST A $1";
}

testB() {
  echo "TEST B $2";
}

"[email protected]"


$ bash test.sh
$ bash test.sh testA
TEST A 
$ bash test.sh testA arg1 arg2
TEST A arg1
$ bash test.sh testB arg1 arg2
TEST B arg2

Untuk memoles, pertama-tama Anda dapat memverifikasi bahwa perintah itu ada dan merupakan fungsi:

# Check if the function exists (bash specific)
if declare -f "$1" > /dev/null
then
  # call arguments verbatim
  "[email protected]"
else
  # Show a helpful error
  echo "'$1' is not a known function name" >&2
  exit 1
fi

Linux
  1. Bagaimana Cara Menguji Pembunuh Oom Dari Baris Perintah?

  2. Cara menjalankan skrip Python dari shell

  3. Bagaimana cara menginstal skrip untuk dijalankan di mana saja dari baris perintah?

  1. Bagaimana cara membuat file dengan ukuran tertentu dari baris perintah?

  2. Bagaimana saya bisa menjalankan perintah setelah boot?

  3. Cara menjalankan TeX dari antarmuka baris perintah di Linux

  1. Bagaimana Cara Memasang Otomatis Dari Baris Perintah?

  2. Bagaimana saya bisa menjalankan skrip baris perintah Perl one liner dengan benar?

  3. Bagaimana saya bisa menjalankan pemeriksaan nagios secara manual dari baris perintah?