Pengaturcaraan BASH

bc untuk Melakukan Operasi Aritmetik Lanjutan dalam BASH

bc untuk Melakukan Operasi Aritmetik Lanjutan dalam BASH
Kalkulator Asas, juga dikenali sebagai 'bc,' adalah utiliti baris perintah Linux yang digunakan untuk melakukan aritmetik dan aljabar lanjutan dalam skrip bash. Ia menyediakan banyak fungsi matematik yang berbeza seperti sinus, kosinus, tangen, logaritma semula jadi dalam bash. Bash tidak dapat melakukan operasi aritmetik lanjutan, seperti membandingkan terapung; di situlah bc berguna. Perintah 'bc' didahului oleh 'dc' (Desk Calculator), utiliti UNIX. Dalam tutorial ini, kita akan menggunakan perintah 'bc' untuk melakukan operasi aritmetik lanjutan.

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 “ "| bc

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 ”| bc
1.9235862420

Sebagai alternatif, kita boleh menggunakan bendera '-l' dan perintah 'bc' untuk mendapatkan output perpuluhan.

[dilindungi e-mel]: ~ $ gema "$ num1 / $ num2" | bc -l
1.92358624207403750184

Perintah 'bc' juga dapat digunakan untuk melakukan pembagian modulus dan menghitung kekuatan suatu angka dalam skrip bash.

[dilindungi e-mel]: ~ $ gema "10% 4" | bc
2
[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” | bc
1
[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” | bc
0
[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 -l
2

Semasa cuba mengira punca kuasa dua nombor negatif, shell akan menimbulkan ralat runtime.

[dilindungi e-mel]: ~ $ echo "sqrt (-2)" | bc -l
Ralat 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.

Buat semula butang tetikus anda secara berbeza untuk perisian yang berbeza dengan X-Mouse Button Control
Mungkin anda memerlukan alat yang dapat mengubah kawalan tetikus anda dengan setiap aplikasi yang anda gunakan. Sekiranya ini berlaku, anda boleh menc...
Kajian Tetikus Tanpa Wayar Microsoft Sculpt Touch
Saya baru-baru ini membaca mengenai Sentuhan Microsoft Sculpt tetikus tanpa wayar dan memutuskan untuk membelinya. Setelah menggunakannya sebentar, sa...
Trackpad dan Mouse Pointer pada skrin Windows AppyMouse untuk Tablet Windows
Pengguna tablet sering kehilangan penunjuk tetikus, terutama ketika mereka biasa menggunakan komputer riba. Telefon pintar dan tablet skrin sentuh dil...