Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash? – Ini Linux FOSS

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”.
Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash? – Ini Linux FOSS 33

Simpan skrip di atas dalam file.

Jalankan file skrip menggunakan perintah Bash tanpa argumen:

1682246763 507 Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash
Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash? – Ini Linux FOSS 34

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.
1682246764 53 Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash
Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash? – Ini Linux FOSS 35

Simpan skrip dan keluar.

Jalankan file skrip dan uji dengan melewati parameter:

$ bash script.sh 78 98 67
$ bash script.sh 78 98
1682246765 971 Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash
Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash? – Ini Linux FOSS 36

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.
Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash
Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash? – Ini Linux FOSS 37

Simpan skrip dalam file dan keluar.

Mari kita periksa skrip dengan melewati parameter:

$ bash script.sh 12 13 14
$ bash script.sh 12 13
1682246766 963 Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash
Bagaimana cara memeriksa jumlah argumen yang diteruskan ke skrip Bash? – Ini Linux FOSS 38

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.

Bandwidth vs Kecepatan Data Dijelaskan 2023 [Guide to VPN…

Jika Anda pernah mencoba membeli paket data atau VPN, Anda mungkin pernah melihat istilah “bandwidth” dan “laju data” sebelumnya, dan Anda bahkan mungkin melihatnya...
Ngademin
4 min read