Dalam skrip Bash, sifat dinamis dari perintah diperoleh melalui parameter passing. Misalnya, pengguna meneruskan argumen baris perintah dan skrip menghasilkan hasil yang sesuai. Terkadang pengguna mungkin ingin memeriksa jumlah parameter yang diteruskan ke skrip atau memeriksa apakah parameter tertentu telah diteruskan.
Dalam posting hari ini, garis besar berikut akan menginspirasi berbagai contoh untuk memeriksa jumlah argumen yang diteruskan dalam skrip Bash.
- Periksa jumlah argumen yang diteruskan ke skrip Bash
- Periksa apakah tidak ada argumen yang lolos
- Periksa jumlah yang diharapkan dari parameter yang diteruskan
- Periksa apakah parameter tertentu dilewatkan
Periksa jumlah argumen yang diteruskan ke skrip Bash
Untuk memeriksa jumlah argumen yang diteruskan ke skrip Bash, pertimbangkan sintaks berikut.
sintaksis
#!/bin/Bash
if [ "$#" <operator> <value> ]
then
Statement to execute
else
Statement to execute
fi
Sintaksnya didefinisikan sebagai:
- “jika“Penggunaan bersyarat” memeriksa parameter yang diteruskan$#” variabel dan yang sesuai <操作员> Dan <值>.
- ini”Kemudian” bagian mengeksekusi pernyataan jika kondisinya benar.
- ini”lainnya” bagian mengeksekusi pernyataan ketika kondisi gagal.
Contoh 1: Periksa apakah tidak ada argumen yang diteruskan
Secara default, variabel khusus “$#” menampung jumlah argumen yang diteruskan ke skrip Bash. Variabel ini dapat digunakan untuk menerapkan pemeriksaan pada beberapa argumen yang diteruskan. Skrip berikut akan memeriksa apakah tidak ada argumen yang diteruskan:
#!/bin/Bash
if [ "$#" -eq 0 ]
then
echo "No arguments is Passed"
else
echo "The Number of Passed Arguments is: $#"
fi
Skrip didefinisikan sebagai:
- “jika” kondisi memeriksa apakah parameter yang diteruskan sama dengan 0 menggunakan “$#” Berubah.
- ini”Kemudian” bagian untuk mencetak pesan yang sesuai ketika kondisinya benar.
- ini”lainnyaDieksekusi jika setidaknya satu argumen dilewatkan dan menampilkan jumlah total argumen yang diteruskan”.
Simpan skrip di atas dalam file.
Jalankan file skrip menggunakan perintah Bash tanpa argumen:
Karena tidak ada parameter yang diteruskan, pesan yang sesuai ditampilkan.
Contoh 2: Periksa jumlah yang diharapkan dari parameter yang diteruskan
Skrip selanjutnya memeriksa bahwa jumlah argumen yang diharapkan telah diteruskan, tidak lebih atau kurang:
#!/bin/Bash
if [ "$#" -ne 2 ]
then
echo "Sorry! The Number of Arguments Must be 2"
else
echo "Two Arguments are Passed $1 and $2"
fi
Skrip didefinisikan sebagai:
- “jika” kondisi memeriksa apakah parameter yang diteruskan tidak sama dengan 2.
- ini”Kemudian” bagian untuk mencetak pesan yang sesuai untuk memastikan bahwa parameter yang diteruskan harus 2.
- ini”lainnya” bagian dieksekusi dan ditampilkan disimpan di $1, $2 Variabel jika tepat dua argumen dilewatkan.
Simpan skrip dan keluar.
Jalankan file skrip dan uji dengan melewati parameter:
$ bash script.sh 78 98 67
$ bash script.sh 78 98
Pertama kali, tiga parameter dilewatkan. Oleh karena itu pesan bahwa argumen harus 2 ditampilkan. Kemudian, dua parameter diteruskan untuk kedua kalinya, dan pesan ditampilkan dengan parameter yang diteruskan.
Contoh 3: Periksa apakah parameter tertentu diteruskan
Demikian pula, untuk memeriksa apakah parameter tertentu diteruskan, gunakan skrip berikut:
#!/bin/Bash
if [ -n "$3" ]
then
echo "The Third Argument is Passed"
else
echo "The Particular Argument is not Passed"
fi
Skrip didefinisikan sebagai:
- “jika“Kondisi memeriksa apakah parameter yang diteruskan ketiga digunakan”TIDAK“Operator. Di sini”TIDAK” jika $3 tidak kosong
- ini”KemudianJika ada argumen ketiga, bagian ” akan mencetak pesan yang sesuai.
- ini”lainnyaJika tidak ada parameter ketiga yang dilewatkan, bagian ” akan dijalankan.
Simpan skrip dalam file dan keluar.
Mari kita periksa skrip dengan melewati parameter:
$ bash script.sh 12 13 14
$ bash script.sh 12 13
Lewati tiga parameter untuk pertama kalinya, dan cetak pesan yang diteruskan oleh parameter ketiga. Kali kedua, dua argumen dilewatkan, dan pesan bahwa argumen tertentu tidak diteruskan dicetak.
Kesimpulannya
Dalam skrip Bash, untuk memeriksa jumlah argumen yang diteruskan, gunakan variabel khusus “$#” menyimpan jumlah total parameter yang diteruskan. Variabel ini dapat digunakan dalam pernyataan “jika” untuk memeriksa jumlah parameter yang diteruskan. Pengguna juga dapat menggunakan variabel “$1, $2, $3” untuk memeriksa apakah parameter tertentu telah diteruskan.
Posting ini mengilustrasikan contoh memeriksa jumlah argumen yang diteruskan ke skrip Bash.