A number adalah kombinasi dari 0-9 digit—variabel Bash menyimpan semua nilai dalam bentuk string. Bahkan jika nilai yang disimpan dalam format string, kita dapat melakukan semua operasi aritmatika jika nilai yang disimpan adalah angka yang valid. Sebagai praktik terbaik, kita harus memverifikasi nilai variabel sebelum melakukan operasi aritmatika. Bilangan
A dapat berupa bilangan bulat, bilangan floating point, atau bilangan positif/negatif yang diawali dengan simbol “+ dan -”. Dalam tutorial ini, kita telah membahas beberapa metode untuk memverifikasi bahwa variabel hanya berisi angka, bilangan bulat, dan nilai double atau float, bukan alfabet.
Menggunakan Equal Tilde (=~) Operator
Ekspresi reguler adalah cara cepat dan mudah untuk memeriksa apakah sebuah nilai adalah angka. Dalam skrip Bash, operator tilde (=~) yang sama digunakan untuk membandingkan nilai dengan ekspresi reguler. Itu dapat digunakan dengan pernyataan bash if:
#!/usr/bin/env bash # Skrip shell untuk memeriksa apakah nomor input adalah bilangan bulat read -p "Please enter a number: " VAR if [[ $VAR =~ ^[0-9]+$ ]]; lalu echo "${VAR} adalah angka" else echo "${VAR} bukan angka" fi12345678910#!/usr/bin/env bash# Skrip shell untuk memeriksa apakah angka yang dimasukkan adalah bilangan bulat baca -p "Silakan masukkan angka: " VAR jika [[ $VAR =~ ^[0-9]+$ ]]; lalu echo "${VAR} is a number"else echo "${VAR} is not a number"fi
Tulis cuplikan di atas dalam skrip shell dan jalankan. pertama kali masukkan nilai number.
First run Silakan masukkan angka: 12 12 adalah angka
Lagi jalankan skrip dengan beberapa huruf dan periksa output:
Second run Please masukkan angka: 1a2b 12a bukan angkaCheck apakah Floating Point Number
A Floating Point Number adalah tipe integer yang mewakili angka yang dapat menampung bagian pecahan (juga dikenal sebagai float). Seperti namanya, angka-angka ini dapat mengambil nilai yang berbeda di tempat dan waktu yang berbeda. Angka floating point biasanya digunakan untuk mewakili angka dengan titik desimal di dalamnya. Misalnya, 1,0, 0,6, dan 10,26 semuanya merupakan angka titik-mengambang.
Tulis skrip shell baru yang menganggap angka titik-mengambang sebagai angka yang valid.
#!/usr/bin/env bash # Skrip shell untuk memeriksa apakah input angka adalah angka # Itu bisa berupa bilangan bulat atau angka floating point read -p "Silakan masukkan angka: " VAR if [[ $VAR =~ ^[0-9]+([.][0-9]+) ?$ ]]; lalu echo "${VAR} adalah angka" else echo "${VAR} bukan angka" fi1234567891011#!/usr/bin/env bash# Skrip shell untuk memeriksa apakah angka yang dimasukkan adalah angka# Itu bisa berupa integer or floating point number read -p "Silakan masukkan angka: " VAR if [[ $VAR =~ ^[0-9]+([.][0-9]+)?$ ]]; lalu echo "${VAR} is a number"else echo "${VAR} is not a number"fi
Jalankan skrip di atas dengan memasukkan beberapa angka floating point. Script ini akan mempertimbangkan semua angka floating point sebagai angka yang valid.
First run Harap masukkan angka: 12.10 12.10 adalah angkaMenggunakan Switch Case Statment
Beberapa skrip yang diperlukan untuk memiliki pernyataan kasus. Itu mirip dengan beralih pernyataan dalam bahasa pemrograman lain. Kami juga dapat menggunakan ekspresi reguler dalam opsi pernyataan kasus dan memverifikasi apakah input yang diberikan adalah angka.
#!/usr/bin/env bash # Skrip shell untuk memeriksa apakah nomor input adalah angka # menggunakan pernyataan switch case read -p "Silakan masukkan angka: " VAR case $VARin ``|*[!0-9]*) echo "${VAR} bukan angka" ;; *) echo "${VAR} adalah angka" ;; esac12345678910#!/usr/bin/env bash# Skrip shell untuk memeriksa apakah nomor input adalah angka# menggunakan pernyataan switch case read -p "Please enter a number: " VAR case $VARin ``|*[!0-9 ]*) echo "${VAR} bukan angka" ;; *) echo "${VAR} adalah angka" ;;esac
Execute script di atas beberapa kali dengan input yang berbeda dan lihat hasilnya:
First run Silahkan masukkan angka: 12 12 adalah angkaCheck apakah Bilangan Berisi +/- Tanda
Dalam metode di atas, kami telah memeriksa nilai integer yang hanya berisi 0-9 digit, Angka floating point yang juga berisi pecahan nilai yang dikenal sebagai angka desimal. Dalam beberapa kasus, angka juga bisa positif atau negatif. Setiap angka tanpa awalan atau dengan + adalah angka positif. Angka dengan - awalan adalah angka negatif.
Perbarui ekspresi reguler, untuk mempertimbangkan angka yang memiliki tanda +/- yang dinyanyikan sebelumnya.
#!/usr/bin/env bash # Skrip shell untuk memeriksa apakah angka yang dimasukkan adalah angka # dan dapat berupa angka positif atau negatif read -p "Silakan masukkan angka: " VAR if [[ $VAR =~ ^[+-]?[0-9]+$ ]]; lalu echo "${VAR} adalah angka" else echo "${VAR} bukan angka" fi1234567891011#!/usr/bin/env bash# Skrip shell untuk memeriksa apakah angka yang dimasukkan adalah angka# dan dapat berupa angka positif atau negatif baca -p "Silakan masukkan angka: " VAR jika [[ $VAR =~ ^[+-]?[0-9]+$ ]]; lalu echo "${VAR} is a number"else echo "${VAR} is not a number"fi
Jalankan skrip di atas dengan 2 input berbeda dan periksa hasilnya.
First run Silakan masukkan angka : 12 12 adalah angka Putaran kedua Masukkan angka: -12 -12 adalah angka Putaran ketiga Harap masukkan angka: +12 +12 adalah angkaCheck Jika Angka Positif atau Negatif
Saat melakukan operasi aritmatika dalam skrip bash, Anda harus memverifikasi nilai input. Skrip shell di bawah ini akan membantu Anda untuk memeriksa apakah nomor input adalah angka positif atau negatif.
#!/usr/bin/env bash # Skrip shell untuk memeriksa apakah nomor input # adalah angka positif atau angka negatif baca -p "Silakan masukkan angka: " VAR ## Periksa apakah input adalah angka yang valid jika [[ $VAR =~ ^[+,-]?[0-9]+$ ]]; lalu ## Periksa apakah inputnya bilangan positif atau negatif if [[ $VAR =~ ^[-][0-9]+$ ]]; lalu echo "${VAR} adalah angka negatif" else echo "${VAR} adalah angka positif" fi else echo "${VAR} bukan angka" fi123456789101121314151617#!/usr/bin/env bash# Script shell untuk memeriksa apakah nomor input# adalah angka positif atau angka negatif baca -p "Silakan masukkan angka: " VAR ## Periksa apakah input adalah angka yang validif [[ $VAR =~ ^[+,-]?[0 -9]+$ ]]; lalu ## Periksa apakah inputnya bilangan positif atau negatif if [[ $VAR =~ ^[-][0-9]+$ ]]; lalu echo "${VAR} adalah bilangan negatif" else echo "${VAR} adalah bilangan positif" fielse echo "${VAR} bukan bilangan"fi
Jalankan skrip di atas dengan bilangan positif dan negatif. Kemudian periksa hasilnya.
Pertama run Silakan masukkan angka: 12 12 adalah angka positif Putaran kedua Masukkan angka: -12 -12 adalah angka negatif Putaran ketiga Silakan masukkan angka: +12 + 12 adalah bilangan positifConclusion
A bilangan adalah kumpulan angka dari 0 hingga 9. Angka apa pun bisa berupa angka positif atau negatif. Suatu bilangan dapat berupa bilangan bulat atau bilangan floating point. Tutorial ini membantu Anda memeriksa apakah nilai yang diberikan adalah angka atau bukan di bash scripting.
Referensi tecadmin.com