Panduan pemula untuk menggunakan fungsi bash!

Panduan pemula untuk menggunakan fungsi bash!

Fungsi bash adalah cara yang berguna untuk mengelompokkan serangkaian perintah yang sering Anda gunakan bersama. Mereka memungkinkan Anda untuk menggunakan kembali kode, membuat skrip Anda lebih terorganisir dan lebih mudah dibaca, dan menghemat waktu Anda dengan tidak harus mengetikkan perintah yang sama berulang kali.

Untuk membuat fungsi dalam bash, Anda menggunakan kata kunci fungsi diikuti dengan nama fungsi dan sepasang kawat gigi keriting yang melampirkan perintah yang membentuk fungsi. Misalnya:

fungsi salam echo "halo, dunia!"
123fungsi salam echo "halo, dunia!"

Ini menciptakan fungsi yang disebut 'salam' yang hanya mengeluarkan string "Halo Dunia!" Saat dipanggil.

Untuk memanggil fungsi, Anda cukup mengetikkan namanya di skrip shell Anda. Misalnya:

salam
1salam

Ini akan menjalankan perintah di dalam 'salam' fungsi, yang dalam hal ini hanya perintah gema.

Fungsi bash dengan argumen

Anda juga dapat meneruskan argumen ke suatu fungsi dengan mencantumkannya di dalam tanda kurung saat Anda memanggil fungsi. Misalnya:

salam fungsi echo "halo, $ 1!" Salam" John Doe "
12345salam fungsi echo "halo, $ 1!" Salam" John Doe "

Ini akan menghasilkan “Halo, John Doe!" karena '$ 1' Variabel dalam fungsi mengacu pada argumen pertama yang diteruskan ke fungsi (dalam kasus ini, "John Doe"). Anda dapat menggunakan $ 2, $ 3, dan seterusnya untuk merujuk pada argumen kedua, ketiga, dan selanjutnya.

Anda juga dapat menentukan nilai default untuk argumen jika tidak disediakan saat fungsi dipanggil. Misalnya:

fungsi salam name = $ 1: -world echo "halo, $ name!" Salam Salam" John "
1234567fungsi salam name = $ 1: -world echo "halo, $ name!" Salam Salam" John "

Panggilan pertama untuk 'menyapa' akan menghasilkan "Halo Dunia!" Karena variabel nama diatur ke nilai default "dunia" jika tidak ada argumen yang disediakan. Panggilan kedua untuk 'menyapa' akan menghasilkan “Halo, John!" Karena variabel nama diatur ke nilai argumen pertama ("John").

Tentukan tipe argumen menggunakan perintah builting

Menggunakan 'menyatakan' Perintah builtin, Anda juga dapat menentukan jenis argumen yang diharapkan suatu fungsi. Misalnya:

fungsi tambahkan declare -i num1 = $ 1 Deklarasi -i num2 = $ 2 echo $ ((num1 + num2)) tambahkan 1 2
1234567fungsi tambahkan declare -i num1 = $ 1 Deklarasi -i num2 = $ 2 echo $ ((num1 + num2)) tambahkan 1 2

Fungsi ini mengharapkan dua argumen integer dan menambahkannya bersama -sama menggunakan '$ ((...))' Sintaks Ekspansi Aritmatika. Itu 'Deklarasikan -i' Bendera memberitahu Bash untuk memperlakukan variabel sebagai bilangan bulat.

Fungsi bash dengan variabel lokal

Fungsi bash juga memiliki variabel lokal, yang merupakan variabel yang hanya terlihat dalam fungsi dan tidak dapat diakses di luarnya. Untuk membuat variabel lokal, Anda menggunakan 'lokal' Kata kunci diikuti dengan nama variabel. Misalnya:

fungsi fungsi lokal I untuk i di 1 ... 5; do echo $ i do count echo $ i
123456789fungsi fungsi lokal I untuk i di 1 ... 5; do echo $ i do countecho $ i

Fungsi penghitungan menciptakan variabel lokal yang disebut 'Saya' yang digunakan untuk menghitung dari 1 hingga 5. Gema '$ i' Pernyataan di luar fungsi tidak akan menghasilkan apa pun karena 'Saya' Variabel tidak didefinisikan di luar fungsi.

Berfungsi dengan nilai pengembalian

Anda juga dapat mengembalikan nilai dari fungsi menggunakan 'kembali' perintah builtin. Nilai perintah pengembalian adalah status keluar dari fungsi, yang merupakan angka yang menunjukkan apakah fungsi diselesaikan dengan sukses atau mengalami kesalahan. A 'kembali' Nilai dari '0' menunjukkan keberhasilan, sedangkan nilai bukan nol menunjukkan kesalahan.

Misalnya:

fungsi tambahkan if [[$# -ne 2]]; lalu kembalikan 1 fi declare -i num1 = $ 1 declare -i num2 = $ 2 return $ ((num1 + num2)) tambahkan 1 2 echo $? Tambahkan 1 Echo $?
12345678910111213fungsi tambahkan if [[$# -ne 2]]; lalu kembalikan 1 fi declare -i num1 = $ 1 declare -i num2 = $ 2 return $ ((num1 + num2)) tambahkan 1 2echo $?Tambahkan 1echo $?

Periksa fungsi add untuk memastikan bahwa ia telah menerima tepat dua argumen. Jika belum, ia mengembalikan nilai 1 untuk menunjukkan kesalahan. Jika tidak, itu menambahkan dua argumen bersama dan mengembalikan hasilnya.

Itu 'Echo $?' Perintah setelah setiap panggilan ke fungsi tambah akan menghasilkan nilai pengembalian fungsi. Panggilan pertama akan menghasilkan 3, sedangkan panggilan kedua akan menghasilkan 1.

Nilai cetak dalam fungsi

Selain nilai pengembalian, Anda juga dapat menggunakan perintah Echo untuk mencetak nilai dari suatu fungsi. Misalnya:

fungsi tambahkan if [[$# -ne 2]]; lalu kembalikan 1 fi declare -i num1 = $ 1 declare -i num2 = $ 2 echo $ ((num1 + num2)) hasil = $ (tambahkan 10 20) echo "Hasilnya adalah $ hasilnya."
1234567891011fungsi tambahkan if [[$# -ne 2]]; lalu kembalikan 1 fi declare -i num1 = $ 1 declare -i num2 = $ 2 echo $ ((num1 + num2)) hasil = $ (tambahkan 10 20) echo "Hasilnya adalah $ hasilnya."

Kode ini akan menghasilkan “Hasilnya adalah 30." Karena fungsi add dipanggil menggunakan substitusi perintah (sintaks $ (...)) dan hasilnya disimpan dalam variabel hasil.

Fungsi bash bisa sangat kuat dan merupakan alat yang berharga untuk mengatur dan menyederhanakan skrip Anda. Mereka memungkinkan Anda untuk menggunakan kembali kode, membuat skrip Anda lebih mudah dibaca, dan menghemat waktu Anda dengan tidak harus mengetikkan perintah yang sama berulang kali.