Periksa apakah suatu variabel berisi nomor dalam pesta

Periksa apakah suatu variabel berisi nomor dalam pesta

Angka adalah kombinasi dari 0-9 digit-variabel bash menyimpan semua nilai dalam bentuk string. Bahkan jika nilai yang tersimpan dalam format string, kami dapat melakukan semua operasi aritmatika jika nilai yang tersimpan adalah nomor yang valid. Sebagai praktik terbaik, kita harus memverifikasi nilai variabel sebelum melakukan operasi aritmatika.

Angka bisa berupa bilangan bulat, angka titik mengambang, atau angka positif/negatif yang diawali dengan simbol "+ dan -". Dalam tutorial ini, kami telah membahas beberapa metode untuk memverifikasi bahwa variabel hanya berisi digit, bilangan bulat, dan nilai ganda atau float, bukan huruf abadi.

Menggunakan operator tilde (= ~) yang sama

Ekspresi reguler adalah cara cepat dan mudah untuk memeriksa jika nilai adalah angka. Dalam skrip bash, tilde yang sama (= ~) Operator digunakan untuk membandingkan nilai dengan ekspresi reguler. Yang dapat digunakan dengan pernyataan Bash IF:

#!/USR/BIN/Env Bash # Shell Script Untuk memeriksa apakah nomor inputnya adalah integer baca -p "Harap masukkan nomor:" var jika [[$ var = ~ ^[0-9]+$]]; Lalu echo "$ var adalah angka" else echo "$ var bukan angka" fi
12345678910#!/USR/BIN/Env Bash# Shell Script Untuk memeriksa apakah nomor inputnya adalah integer baca -p "Harap masukkan nomor:" var jika [[$ var = ~ ^[0-9]+$]]; Lalu echo "$ var adalah angka" else echo "$ var bukan angka" fi

Tulis cuplikan di atas dalam skrip shell dan jalankan. Masukkan nomor nilai pertama kali.

First Run Harap masukkan nomor: 12 12 adalah angka 

Lagi jalankan skrip dengan beberapa huruf dan periksa output:

Run kedua Harap masukkan nomor: 1a2b 12a bukan nomor 

Periksa apakah nomor titik mengambang

Angka titik mengambang adalah tipe integer yang mewakili angka yang dapat menampung bagian fraksional (juga dikenal sebagai float). Seperti namanya, angka -angka ini dapat mengambil nilai yang berbeda di tempat dan waktu yang berbeda. Angka titik mengambang biasanya digunakan untuk mewakili angka dengan titik desimal di dalamnya. Misalnya, 1.0, 0.6, dan 10.26 adalah semua bilangan titik mengambang.

Tulis skrip shell baru yang menganggap nomor titik mengambang sebagai nomor yang valid.

#!/USR/BIN/Env Bash # Shell Script untuk memeriksa apakah nomor input adalah nomor # yang bisa berupa bilangan bulat atau nomor floating point baca -p "Harap masukkan nomor:" var jika [[$ var = ~ ^[0 -9]+([.] [0-9]+)?$]]; Lalu echo "$ var adalah angka" else echo "$ var bukan angka" fi
1234567891011#!/USR/BIN/Env Bash# Shell Script untuk memeriksa apakah nomor input adalah nomor# yang bisa berupa bilangan bulat atau nomor floating point baca -p "Harap masukkan nomor:" var jika [[$ var = ~ ^[0 -9]+([.] [0-9]+)?$]]; Lalu echo "$ var adalah angka" else echo "$ var bukan angka" fi

Jalankan skrip di atas dengan memasukkan beberapa nomor titik mengambang. Skrip ini akan mempertimbangkan semua angka titik mengambang sebagai angka yang valid.

First Run Harap masukkan nomor: 12.10 12.10 adalah angka 

Menggunakan Statmen Kasus Switch

Beberapa skrip diperlukan untuk memiliki pernyataan kasus. Itu mirip dengan pernyataan sakelar dalam bahasa pemrograman lainnya. Kami juga dapat menggunakan ekspresi reguler dalam opsi pernyataan kasus dan memverifikasi jika input yang diberikan adalah angka.

#!/USR/BIN/Env Bash # Shell Script untuk memeriksa apakah nomor input adalah nomor # menggunakan Pernyataan Kasus Switch Baca -p "Harap masukkan nomor:" var case $ varin "|*[!0-9]*) echo "$ var bukan angka" ;; *) echo "$ var adalah angka" ;; ESAC
12345678910#!/USR/BIN/Env Bash# Shell Script untuk memeriksa apakah nomor input adalah nomor# menggunakan Pernyataan Kasus Switch Baca -p "Harap masukkan nomor:" var case $ varin "|*[!0-9]*) echo "$ var bukan angka" ;; *) echo "$ var adalah angka" ;; esac

Jalankan skrip di atas beberapa kali dengan input yang berbeda dan lihat hasilnya:

First Run Harap masukkan nomor: 12 12 adalah angka 

Periksa apakah nomornya berisi +/- Tanda-tanda

Dalam metode di atas, kami telah memeriksa nilai integer yang hanya berisi 0-9 digit, angka titik mengambang yang juga berisi sebagian kecil dari nilai yang dikenal sebagai angka desimal. Dalam beberapa kasus, angka juga bisa positif atau negatif. Nomor apa pun tanpa awalan atau dengan + adalah angka positif. Nomor dengan - awalan adalah angka negatif.

Perbarui ekspresi reguler, untuk mempertimbangkan angka yang memiliki a +/- bernyanyi sebelumnya.

#!/USR/BIN/Env Bash # Shell Script untuk memeriksa apakah nomor input adalah nomor # dan bisa menjadi angka positif atau negatif baca -p "Harap masukkan nomor:" var jika [[$ var = ~ ^[+ - ]?[0-9]+$]]; Lalu echo "$ var adalah angka" else echo "$ var bukan angka" fi
1234567891011#!/USR/BIN/Env Bash# Shell Script untuk memeriksa apakah nomor input adalah nomor# dan bisa menjadi angka positif atau negatif baca -p "Harap masukkan nomor:" var jika [[$ var = ~ ^[+ - ]?[0-9]+$]]; Lalu echo "$ var adalah angka" else echo "$ var bukan angka" fi

Jalankan skrip di atas dengan input-2 yang berbeda dan periksa hasilnya.

First Run Harap masukkan nomor: 12 12 adalah angka yang dijalankan kedua Harap masukkan nomor: -12 -12 adalah angka yang dijalankan ketiga Harap masukkan nomor: +12 +12 adalah angka 

Periksa apakah nomor postif atau negatif

Saat melakukan operasi aritmatika dalam skrip bash, Anda harus memverifikasi nilai input. Skrip shell di bawah ini akan membantu Anda memeriksa apakah nomor input adalah angka positif atau angka negatif.

#!/USR/BIN/ENV BASH # SCRIP SHell untuk memeriksa apakah nomor input # adalah nomor positif atau nomor negatif baca -p "Harap masukkan nomor:" var ## Periksa apakah inputnya adalah nomor yang valid jika [[$ var = ~ ^[+,-]?[0-9]+$]]; Kemudian ## Periksa apakah input adalah angka positif atau negatif jika [[$ var = ~ ^[-] [0-9]+$]]; Lalu echo "$ var adalah angka negatif" else echo "$ var adalah angka positif" fi else echo "$ var bukan angka" fi
1234567891011121314151617#!/USR/BIN/Env Bash# Shell Script untuk memeriksa apakah nomor input# adalah nomor positif atau nomor negatif baca -p "Harap masukkan nomor:" var ## Periksa apakah inputnya adalah angka yang validf [[$ var = ~ ^[+,-]?[0-9]+$]]; Kemudian ## Periksa apakah input adalah angka positif atau negatif jika [[$ var = ~ ^[-] [0-9]+$]]; Lalu echo "$ var adalah angka negatif" else echo "$ var adalah angka positif" fielse echo "$ var bukan angka" fi

Jalankan skrip di atas dengan angka positif dan negatif. Kemudian periksa hasilnya.

First Run Harap masukkan nomor: 12 12 adalah angka positif yang dijalankan kedua Harap masukkan nomor: -12 -12 adalah angka negatif yang dijalankan ketiga, masukkan angka: +12 +12 adalah angka positif 

Kesimpulan

Angka adalah kumpulan digit dari 0 hingga 9. Angka apa pun bisa menjadi angka positif atau negatif. Angka bisa berupa bilangan bulat atau angka floating point. Tutorial ini membantu Anda memeriksa apakah nilai yang diberikan adalah angka atau tidak di Bash Scripting.