Bagaimana cara saya menyampaikan hujah dalam Skrip Bash?

How Do I Pass Argument Bash Script



Sebilangan besar Pengguna Linux Mint 20 mendapati diri mereka tersekat ketika menyampaikan argumen dalam skrip bash. Anda dapat menyampaikan argumen ke skrip bash mana pun ketika dijalankan. Terdapat beberapa cara mudah dan berguna untuk menyampaikan argumen dalam skrip bash. Dalam panduan artikel ini, kami akan memberitahu anda tentang beberapa cara yang sangat mudah untuk menyampaikan dan menggunakan argumen dalam skrip bash anda.

Lulus Hujah Menggunakan Pemboleh ubah Lalai:

Buat fail baru dengan nama apa pun menggunakan arahan sentuh, misalnya, file.sh.







$sentuhannama fail



Buka fail yang baru dibuat ini dan tambahkan beberapa skrip bash ke dalamnya. Saya telah menambahkan beberapa pemboleh ubah lalai, mis. Oleh itu, $ 1, $ 2, dan $ 3. Apa sahaja hujah yang akan disampaikan melalui terminal akan disimpan dalam pemboleh ubah yang dinyatakan.







Anda harus menjalankan fail ini menggunakan perintah ./ diikuti oleh beberapa argumen. Seperti yang anda lihat dalam gambar bahawa ketika saya menyampaikan argumen, kesalahan berlaku: Kebenaran ditolak. Ini kerana fail ini tidak mempunyai hak pelaksanaan.

$./filename argument1 argumen2 argumen

Jadi untuk memberikan hak pelaksanaan pada fail ini, gunakan perintah sudo chmod untuk melakukannya.



$sudo chmod+ x nama fail

Sekarang, jalankan semula fail menggunakan arahan di atas yang sama. Kali ini saya telah memberikan hujah yang berbeza. Anda akan melihat argumen yang baru dihantar disimpan dalam pemboleh ubah lalai.

Melewati Nama Skrip Shell sebagai Hujah:

Sekarang, menggunakan file.sh file lama yang sama dengan sedikit perubahan pada variabel lalai. Anda harus menambahkan pemboleh ubah $ 0 dalam skrip seperti yang ditunjukkan.

Semasa menjalankan perintah skrip shell. / Shell yang sama, nama skrip shell anda, mis. ./filename akan disimpan dalam pemboleh ubah $ 0 sebagai argumen.

Menyampaikan Hujah sebagai Array untuk Pembolehubah:

Bermula dengan file.sh yang sama, anda harus menambahkan beberapa baris tambahan dalam skrip lama. Menyatakan pemboleh ubah bernama array. Tambahkan pemboleh ubah lalai [dilindungi e-mel] yang akan menyimpan argumen yang dimasukkan oleh pengguna sebagai array. Argumen ini akan dihuraikan ke array berubah. Baris terakhir akan memaparkan semua argumen array pemboleh ubah yang disusun mengikut nombor indeks.

Jalankan skrip shell ./. Anda akan melihat bahawa ia akan memaparkan argumen atau nilai yang disimpan sebagai array dalam [dilindungi e-mel] yang dihuraikan ke array berubah tetapi bukan nama skrip shell dalam pernyataan gema kedua. Anda akan mempunyai output berikut.

$./filename argument1 argumen2 argumen

Gunakan fail yang sama dengan skrip yang sama. Keluarkan $ {array [3]} dari baris terakhir seperti yang jelas dalam gambar.

Setelah melaksanakan perintah ./, anda akan melihat output yang sama seperti yang anda dapatkan dalam contoh di atas tanpa perubahan.

Anda juga boleh mendapatkan hasil yang sama dengan mengganti baris terakhir skrip bash dengan satu kata. Anda hanya perlu menambahkan [dilindungi e-mel] dalam pernyataan gema, dan itu akan memaparkan argumen yang terdapat dalam larik ini.

Oleh itu, jalankan perintah ./ sekali lagi, anda akan mendapat hasil yang sama.

Semak Jumlah Hujah yang Lulus:

Sebaliknya, jika anda ingin mengetahui jumlah argumen yang dilalui pengguna, anda juga boleh melakukannya. Untuk tujuan ini, anda hanya perlu mengganti [e-mel dilindungi] dengan $ # dalam gema.

Sekali lagi menjalankan perintah ./, Anda sekarang akan melihat keseluruhan gambaran argumen yang dikirimkan ke skrip. Dalam kes kami, 3 argumen disahkan sebagai nilai.

Buat Output Argumen Line-Line:

Buat test.sh fail baru di direktori utama. Tambahkan skrip bash seperti yang ditunjukkan.

Sekarang jalankan perintah lama yang sama dengan argumen yang berbeza. Pertama, anda akan melihat ralat: Kebenaran ditolak.

Anda harus melaksanakan perintah chmod untuk memberikan hak istimewa sudo fail ini. Selepas itu, jalankan arahan skrip shell ./ sekali lagi. Dan anda akan mendapat output dari argumen yang disusun baris demi baris.

Hadkan Pembolehubah melalui Nombor Indeks Argumen:

Sekiranya anda ingin menghadkan pemboleh ubah menggunakan nombor indeksnya, anda boleh melakukannya dengan sangat mudah. Tambahkan tanda kurung selepas tanda $ dan tambahkan nombor indeks argumen yang ingin anda paparkan sebelum argumen lain.

Sekiranya argumen yang diberikan oleh pengguna kurang daripada nombor indeks yang disediakan dalam pemboleh ubah had, maka anda akan mendapat nilai argumen kosong. Sebagai contoh, saya telah memberikan 4 argumen, tetapi saya telah memberikan nilai argumen 05 untuk dipaparkan. Dalam keadaan ini, pemboleh ubah akan dipaparkan kosong kerana argumen kelima belum disahkan.

Tetapi apabila anda memberikan jumlah argumen yang sama atau lebih banyak dalam perintah, anda akan mendapat nilai yang ditunjukkan dalam hasil seperti yang ditunjukkan.

Menyemak Hujah Nilai Khusus:

Buat fail baru dengan nama Check.sh di direktori rumah anda. Tambahkan skrip bash yang sama seperti yang ditunjukkan pada gambar di bawah. Dalam skrip ini, kita mempunyai variabel variabel untuk menyimpan nilai argumen yang dilalui oleh pengguna. Kemudian kita mempunyai pernyataan if, yang akan memeriksa nilai argumen yang sesuai atau tidak. Sekiranya nilai argumen dipadankan dengan nilai yang diberikan dalam kurungan, maka pernyataan gema pertama akan dilaksanakan. Sekiranya nilainya tidak sepadan, pernyataan gema kedua akan dilaksanakan.

Apabila kita menjalankan perintah skrip shell, itu akan menimbulkan kesalahan. Dengan menggunakan perintah chmod, kita dapat membetulkan ralat ini.

Setelah itu, jalankan skrip shell untuk fail tertentu dengan beberapa nilai argumen. Dalam kes kami, kami telah memberikan Aqsa sebagai nilai argumen, yang sama dengan nilai yang ditunjukkan dalam kurungan. Jadi skrip bash akan melaksanakan pernyataan gema pertama seperti yang ditunjukkan.

Sebaliknya, jika anda memberikan nilai argumen yang berbeza dalam skrip shell, ia akan memaparkan pernyataan gema yang lain. Di sini, saya telah menambahkan Rimsha sebagai nilai argumen, yang berbeza dengan nilai yang diberikan dalam pernyataan if. Jadi skrip bash akan melaksanakan pernyataan gema kedua.

Kesimpulan:

Saya harap panduan ini dapat menolong anda dengan cekap mengenai cara menyampaikan argumen ke pemboleh ubah lalai, menyampaikan nilai argumen sebagai tatasusunan ke pemboleh ubah, mendapatkan jumlah argumen yang dilalui, baris demi baris output argumen, menghadkan argumen output menggunakan nombor indeks, memeriksa argumen nilai tertentu dan banyak lagi.