Panduan Pemula untuk Menggunakan Fungsi Bash!

Panduan Pemula untuk Menggunakan Fungsi Bash!

Fungsi bash adalah cara yang berguna untuk mengumpulkan satu siri arahan yang sering anda gunakan bersama. Mereka membolehkan anda menggunakan semula kod, menjadikan skrip anda lebih teratur dan lebih mudah dibaca, dan menjimatkan masa anda dengan tidak perlu menaip arahan yang sama berulang kali.

Untuk membuat fungsi dalam bash, anda menggunakan kata kunci fungsi yang diikuti dengan nama fungsi dan sepasang pendakap keriting yang melampirkan arahan yang membentuk fungsi. Sebagai contoh:

Fungsi ucapan echo "hello, dunia!"
123Fungsi ucapan echo "hello, dunia!"

Ini mewujudkan fungsi yang dipanggil 'Salam' yang hanya mengeluarkan tali "Hai dunia!" Apabila ia dipanggil.

Untuk memanggil fungsi, anda hanya menaip namanya dalam skrip shell anda. Sebagai contoh:

Salam
1Salam

Ini akan melaksanakan perintah dalam 'Salam' fungsi, yang dalam kes ini hanyalah perintah echo.

Fungsi bash dengan hujah

Anda juga boleh lulus hujah ke fungsi dengan menyenaraikannya dalam kurungan apabila anda memanggil fungsi tersebut. Sebagai contoh:

Fungsi Salam echo "Hello, $ 1!" Salam" John Doe "
12345Fungsi Salam echo "Hello, $ 1!" Salam" John Doe "

Ini akan dikeluarkan "Helo, John Doe!" kerana ia '$ 1' Pembolehubah dalam fungsi merujuk kepada hujah pertama yang diserahkan kepada fungsi (dalam kes ini, "John Doe"). Anda boleh menggunakan $ 2, $ 3, dan sebagainya untuk merujuk kepada hujah kedua, ketiga, dan seterusnya.

Anda juga boleh menentukan nilai lalai untuk argumen jika tidak disediakan apabila fungsi dipanggil. Sebagai contoh:

Fungsi Salam name = $ 1: -world echo "Hello, $ Name!" ucapan ucapan" John "
1234567Fungsi Salam name = $ 1: -world echo "Hello, $ Name!" ucapan ucapan" John "

Panggilan pertama untuk 'ucapan' akan dikeluarkan "Hai dunia!" Kerana pemboleh ubah nama ditetapkan kepada nilai lalai "dunia" jika tiada hujah disediakan. Panggilan kedua untuk 'ucapan' akan dikeluarkan "Helo, John!" Kerana pemboleh ubah nama ditetapkan kepada nilai hujah pertama ("John").

Tentukan jenis hujah menggunakan arahan builting

Menggunakan 'mengisytiharkan' arahan terbina, anda juga boleh menentukan jenis hujah yang diharapkan oleh fungsi. Sebagai contoh:

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

Fungsi ini mengharapkan dua hujah integer dan menambahnya bersama menggunakan '$ ((...))' Sintaks pengembangan aritmetik. The 'mengisytiharkan -i' Bendera memberitahu Bash untuk merawat pembolehubah sebagai bilangan bulat.

Fungsi bash dengan pembolehubah tempatan

Fungsi bash juga mempunyai pembolehubah tempatan, yang merupakan pembolehubah yang hanya dapat dilihat dalam fungsi dan tidak dapat diakses di luarnya. Untuk membuat pemboleh ubah tempatan, anda menggunakan 'Tempatan' Kata kunci diikuti dengan nama pembolehubah. Sebagai contoh:

Fungsi Count Local I for I in 1 ... 5; lakukan echo $ saya selesai mengira echo $ i
123456789Fungsi Count Local I for I in 1 ... 5; lakukan echo $ saya selesai countecho $ i

Fungsi kiraan mewujudkan pemboleh ubah tempatan yang dipanggil 'Saya' yang digunakan untuk dikira dari 1 hingga 5. Echo '$ i' pernyataan di luar fungsi tidak akan mengeluarkan apa -apa kerana 'Saya' Pembolehubah tidak ditakrifkan di luar fungsi.

Berfungsi dengan nilai pulangan

Anda juga boleh mengembalikan nilai dari fungsi menggunakan 'kembali' Perintah terbina. Nilai perintah pulangan adalah status keluar fungsi, yang merupakan nombor yang menunjukkan sama ada fungsi itu selesai dengan jayanya atau mengalami ralat. A 'kembali' nilai '0' Menunjukkan kejayaan, sementara nilai bukan sifar menunjukkan kesilapan.

Sebagai contoh:

fungsi tambah if [[$# -ne 2]]; kemudian kembali 1 fi mengisytiharkan -i num1 = $ 1 mengisytiharkan -i num2 = $ 2 kembali $ ((num1 + num2)) tambah 1 2 echo $? tambah 1 echo $?
12345678910111213fungsi tambah if [[$# -ne 2]]; kemudian kembali 1 fi mengisytiharkan -i num1 = $ 1 mengisytiharkan -i num2 = $ 2 kembali $ ((num1 + num2)) Tambah 1 2echo $?Tambah 1echo $?

Pemeriksaan fungsi Tambah untuk memastikan bahawa ia telah menerima dua hujah yang tepat. Sekiranya tidak, ia mengembalikan nilai 1 untuk menunjukkan ralat. Jika tidak, ia menambah dua hujah bersama dan mengembalikan hasilnya.

The 'echo $?' Perintah selepas setiap panggilan ke fungsi tambah akan mengeluarkan nilai pulangan fungsi. Panggilan pertama akan dikeluarkan 3, sementara panggilan kedua akan dikeluarkan 1.

Cetak nilai dalam fungsi

Sebagai tambahan kepada nilai pulangan, anda juga boleh menggunakan perintah echo untuk mencetak nilai dari fungsi. Sebagai contoh:

fungsi tambah if [[$# -ne 2]]; kemudian kembali 1 fi mengisytiharkan -i num1 = $ 1 mengisytiharkan -I num2 = $ 2 echo $ ((num1 + num2)) hasil = $ (tambah 10 20) echo "Hasilnya $."
1234567891011fungsi tambah if [[$# -ne 2]]; kemudian kembali 1 fi mengisytiharkan -i num1 = $ 1 mengisytiharkan -I num2 = $ 2 echo $ ((num1 + num2)) hasil = $ (tambah 10 20) echo "Hasilnya $."

Kod ini akan dikeluarkan "Hasilnya ialah 30." Kerana fungsi tambah dipanggil menggunakan penggantian arahan (sintaks $ (...)) dan hasilnya disimpan dalam pemboleh ubah hasil.

Fungsi bash boleh menjadi sangat kuat dan merupakan alat yang berharga untuk mengatur dan memudahkan skrip anda. Mereka membolehkan anda menggunakan semula kod, menjadikan skrip anda lebih mudah dibaca, dan menjimatkan masa anda dengan tidak perlu menaip arahan yang sama berulang kali.