Melakukan Operasi Aritmetik Asas
Operasi aritmetik sederhana seperti penambahan, pengurangan, pembahagian, dan pendaraban dapat dilakukan dengan menggunakan perintah 'bc'. Sintaks untuk menggunakan operator binari sederhana dalam bash menggunakan perintah 'bc' adalah seperti berikut.
[dilindungi e-mel]: ~ $ echo “Di bahagian ini, kita akan menggunakan perintah 'bc' untuk melakukan operasi aritmetik yang mudah.
[dilindungi e-mel]: ~ $ num1 = 2.35322 5[dilindungi e-mel]: ~ $ num2 = 1.223353
[dilindungi e-mel]: ~ $ gema "$ num1 + $ num2" | bc
3.576578
[dilindungi e-mel]: ~ $ gema "$ num1- $ num2" | bc
1.129872
[dilindungi e-mel]: ~ $ gema "$ num1 * $ num2" | bc
2.878824
[dilindungi e-mel]: ~ $ gema "$ num1 / $ num2" | bc
1
Dalam contoh di atas, semasa melakukan pembahagian, kami mendapat keputusan tanpa titik perpuluhan. Untuk mendapatkan hasilnya hingga titik n 'perpuluhan, kita harus menetapkan nilai skala ke' n 'seperti yang ditunjukkan dalam contoh berikut.
[dilindungi e-mel]: ~ $ echo “skala = 10; $ num1 / $ num2 ”| bc1.9235862420
Sebagai alternatif, kita boleh menggunakan bendera '-l' dan perintah 'bc' untuk mendapatkan output perpuluhan.
[dilindungi e-mel]: ~ $ gema "$ num1 / $ num2" | bc -l1.92358624207403750184
Perintah 'bc' juga dapat digunakan untuk melakukan pembagian modulus dan menghitung kekuatan suatu angka dalam skrip bash.
[dilindungi e-mel]: ~ $ gema "10% 4" | bc2
[dilindungi e-mel]: ~ $ gema "10 ^ 2" | bc
100
Melakukan Operasi Aritmetik Lanjutan
Setakat ini, kami telah menggunakan perintah 'bc' untuk melakukan beberapa operasi asas aritmetik seperti penambahan, pengurangan, pendaraban, dan lain-lain., sekarang; di bahagian ini, kita akan menggunakan perintah 'bc' untuk melakukan beberapa operasi aritmetik lanjutan. Kami akan membincangkan bagaimana kami dapat menggunakan operator perbandingan, operator logik atau boolean, fungsi matematik maju, dan pernyataan bersyarat dalam bash menggunakan perintah 'bc'.
Pengendali Perbandingan
Pengendali perbandingan mengambil dua nombor, membandingkannya dan kemudian kembali 1 atau 0 bergantung pada perbandingan. Sekiranya perbandingan itu benar, maka hasilnya adalah BENAR (1); jika tidak, ia adalah SALAH (0). Berikut adalah beberapa contoh operator perbandingan.
- num1> num2: Perbandingan ini akan kembali 1 sekiranya bilangan1 lebih besar daripada bilangan2.
- bilangan1 < num2: Hasilnya akan 1 sekiranya bilangan1 kurang daripada bilangan2.
- bilangan1 <= num2: Hasilnya akan 1 sekiranya bilangan1 kurang daripada atau sama dengan bilangan2.
- num1> = num2: Hasilnya akan 1 sekiranya bilangan1 lebih besar daripada atau sama dengan bilangan2.
- num1 == num2: Hasilnya akan 1 sekiranya bilangan1 sama dengan bilangan2.
- bilangan1 != bilangan2: Hasilnya akan 1 jika kedua-dua nombor itu tidak sama.
Berikut adalah beberapa contoh operator perbandingan yang digunakan bersama dengan perintah 'bc'.
[dilindungi e-mel]: ~ $ echo “5 == 5” | bc1
[dilindungi e-mel]: ~ $ echo “4!= 4 "| bc
0
[dilindungi e-mel]: ~ $ gema "2> 5" | bc
0
[dilindungi e-mel]: ~ $ echo “4<=4” | bc
1
Pengendali Boolean
Pengendali Boolean atau Logik digunakan dalam pernyataan bersyarat untuk melakukan beberapa keputusan logik. Berikut adalah tiga pengendali logik asas.
- stat1 && stat2: Ini akan kembali 1 sekiranya kedua-dua pernyataan tersebut bukan sifar.
- stat1 || stat2: Ini akan kembali 1 sekiranya ada penyataan tersebut bukan sifar.
- ! statistik: Ini akan kembali 1 sekiranya penyataan tersebut bukan sifar dan begitu juga sebaliknya.
Contoh berikut menggambarkan bagaimana pengendali logik digunakan dengan arahan 'bc'.
[dilindungi e-mel]: ~ $ echo “-5 && 0” | bc0
[dilindungi e-mel]: ~ $ echo “-1 || 0 "| bc
1
[dilindungi e-mel]: ~ $ echo “! 0 ”| bc
1
Penyataan Bersyarat
Pernyataan bersyarat digunakan untuk melaksanakan perintah tertentu bergantung pada kondisi yang berlaku. Keadaan yang berlaku dalam pernyataan bersyarat melibatkan pengendali logik dan perbandingan. Berikut adalah contoh pernyataan bersyarat dengan arahan 'bc'.
[dilindungi e-mel]: ~ $ a = 15[dilindungi e-mel]: ~ $ b = 20
[dilindungi e-mel]: ~ $ echo 'if (a> b) cetak "a lebih besar" lagi cetak "b lebih besar"' | bc -l
b lebih besar
Dalam contoh di atas, pernyataan tersebut memeriksa apakah a lebih besar daripada b atau tidak. Sekiranya a lebih besar daripada b, ia akan mencetak "a lebih besar"; jika tidak, ia akan mencetak “b lebih besar."Kami boleh menggunakan sebarang syarat menggunakan operator boolean dan perbandingan dalam contoh di atas.
Fungsi Matematik
Perintah 'bc' juga menyediakan beberapa fungsi matematik terbina dalam yang dapat kita gunakan tanpa menentukannya. Berikut adalah beberapa fungsi penting yang digunakan dengan perintah 'bc' dalam bash.
- s (x): mengembalikan sinus x di mana x berada dalam radian
- c (x): mengembalikan kosinus x di mana x berada dalam radian
- a (x): mengembalikan arctangent x dan hasilnya dalam radian
- sqrt (x): mengembalikan punca kuasa dua x. Ia menyebabkan ralat runtime apabila x negatif
- l (x): mengembalikan log semula jadi x.
Fungsi-fungsi ini dapat digunakan dengan perintah 'bc', seperti yang ditunjukkan dalam contoh berikut.
[dilindungi e-mel]: ~ $ pi = 3.1415[dilindungi e-mel]: ~ $ echo “s ($ pi / 2)” | bc -l
1
[dilindungi e-mel]: ~ $ echo “c ($ pi / 2)” | bc -l
0
[dilindungi e-mel]: ~ $ gema "a (1)" | bc -l
0.7854
Akar kuadrat nombor dapat dihitung dalam bash menggunakan perintah 'bc', seperti yang ditunjukkan pada gambar berikut.
[dilindungi e-mel]: ~ $ echo “sqrt (4)” | bc -l2
Semasa cuba mengira punca kuasa dua nombor negatif, shell akan menimbulkan ralat runtime.
[dilindungi e-mel]: ~ $ echo "sqrt (-2)" | bc -lRalat waktu jalan (func = (utama), adr = 4): Akar kuasa dua nombor negatif
Logaritma Semula jadi nombor dapat dikira dalam bash menggunakan perintah 'bc' seperti berikut.
[dilindungi e-mel]: ~ $ echo “l (2)” | bc -l.69314718055994530941
Kesimpulannya
Semasa menulis skrip automasi dalam bash, kadang-kadang kita memerlukan fungsi matematik lanjutan dan operator logik untuk melaksanakan perintah. Perintah 'bc' menyediakan banyak fungsi dan pengendali matematik maju untuk melakukan pengiraan aritmetik tahap tinggi. Tutorial ini membincangkan penggunaan perintah 'bc' untuk melakukan operasi aritmetik lanjutan dalam bash.