Cara membuat pengiraan perpuluhan di bash menggunakan bc

Cara membuat pengiraan perpuluhan di bash menggunakan bc

Pengiraan perpuluhan kadang -kadang diperlukan dalam bash. Pengiraan Standard Pengaturcaraan Pengaturcaraan Bash ($ []) tidak dapat memberikan output perpuluhan. Walaupun kita boleh menipu ia ke dalam mengira (tetapi tidak menjana) output perpuluhan dengan mengalikan nombor dengan contohnya faktor 1000 dan kemudian melakukan pemisahan berasaskan teks, ini adalah penyelesaian yang hodoh dan mewujudkan kod kompleks. Walau bagaimanapun terdapat utiliti dalam bash yang boleh melakukan pengiraan berasaskan perpuluhan tanpa sebarang helah atau penyelesaian!

Dalam tutorial ini anda akan belajar:

  • Cara Menggunakan BC Untuk Melakukan Pengiraan Dekatan
  • Cara membuat pengiraan berasaskan perpuluhan di baris perintah bash atau dari skrip anda
  • Cara menggunakan pembolehubah untuk menyimpan hasil yang dihasilkan oleh BC
  • Cara menggunakan pembolehubah dalam pengiraan selanjutnya
  • Cara Menghindari Kesalahan Memetik Pembolehubah Bash
Cara membuat pengiraan perpuluhan di bash menggunakan bc

Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Pengedaran linux-bebas
Perisian Baris perintah bash, sistem berasaskan linux
Yang lain Sebarang utiliti yang tidak termasuk dalam shell bash secara lalai boleh dipasang menggunakan sudo apt-get memasang nama utiliti (atau pemasangan yum untuk sistem berasaskan redhat)
Konvensyen # - memerlukan komando linux untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$-Memerlukan komando linux untuk dilaksanakan sebagai pengguna yang tidak istimewa

Memasang BC

Untuk memasang BC di Ubuntu, Mint atau mana -mana sistem operasi berasaskan Debian/APT yang lain, taip:

$ sudo apt pemasangan bc 


Untuk memasang BC di Fedora, Redhat atau sistem operasi berasaskan Redhat/Yum yang lain, taip:

$ sudo yum memasang bc 

Pengiraan bash lalai

Kita boleh melakukan masalah pembahagian mudah secara langsung di bash:

$ echo $ [13/4] 3 

Ini mencuba dan membahagikan 13 hingga 4 menggunakan idiom bash standard $ [pengiraan]. Walaupun ini agak serba boleh:

$ echo "1+1? Jawapannya ialah: $ [1 + 1] "1 + 1? Jawapannya ialah: 2 

Ia dikesali tidak dapat mengeluarkan perpuluhan. Penyelesaian masalah ini adalah kompleks dan jelek seperti yang diterangkan sebelumnya.

BC ke penyelamatan

Penyelesaian yang lebih elegan adalah menggunakan BC untuk pengiraan.

Walaupun BC juga boleh digunakan untuk pengiraan yang sama seperti yang mungkin dalam Bash:

$ echo '13 / 4 '| BC 3 


Ia juga dapat menghasilkan hasil berasaskan perpuluhan menggunakan -L (-L menentukan pilihan perpustakaan matematik standard) untuk BC:

$ echo '13 / 4 '| BC -L 3.250000000000000000000000 

Menyimpan hasil sebagai pembolehubah

Kami juga boleh menyimpan hasil sebagai pembolehubah dengan menggunakan subshell:

$ Hasil = $ (echo '13/4 '| bc -l) $ echo $ outcome 3.250000000000000000000000 

Di sini kami menggunakan pengiraan yang sama seperti dalam contoh terakhir, tetapi kami menggunakan subshell $ () untuk melakukan pengiraan. Ini membolehkan kita menyimpan hasilnya dengan mudah berubah. Sekarang kita boleh menggunakan pembolehubah ini lebih lanjut dalam pengiraan lain, atau hanya mengeluarkan hasil seperti yang ditunjukkan di atas. Untuk menggunakannya dalam pengiraan lain, anda boleh:

$ echo "$ outcome * 4" | BC -L 13.000000000000000000000000 

Sila ambil perhatian bagaimana kami menggunakan petikan berganda kali ini untuk menentukan aritmetik kami. Sebabnya ialah kita mahukan $ Hasil pemboleh ubah akan digantikan kerana nilai sebenarnya. Sekiranya kami menggunakan petikan tunggal (') Sebaliknya, operasi itu akan gagal kerana nama pemboleh ubah akan diambil untuk menjadi input harfiah. Dalam erti kata lain, tiada penggantian nilai itu akan berlaku, seperti yang dapat kita lihat dari output berikut:

$ echo '$ outcome * 4' | bc -l (standard_in) 1: watak haram: $ (standard_in) 1: ralat sintaks 

Bersedia untuk mengetahui lebih banyak bash? Terokai Siri Petua dan Trik Bash Bash kami yang berguna!

Kesimpulan

Dalam artikel ini, kami meneroka cara membuat pengiraan berasaskan perpuluhan dengan BC di baris arahan. Perintah yang sama berfungsi dengan baik apabila digunakan dari dalam skrip shell. Kami juga melihat kekurangan menggunakan idiom pengiraan bash standard, serta menggunakan pembolehubah dalam kombinasi dengan BC Menggunakan subshells. Akhirnya kami dapati apa yang berlaku jika seseorang yang tidak betul memetik pembolehubah dalam bash.

Tutorial Linux Berkaitan:

  • Ubuntu 20.04 Trik dan Perkara yang Anda Tidak Tahu
  • Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 3
  • Contoh Petua dan Trik Perintah Bash Berguna - Bahagian 1
  • Idiom pemboleh ubah yang maju untuk kepekaan kes ..
  • Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 4
  • Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 2
  • Contoh Tips dan Trik Perintah Bash Berguna - Bahagian 5
  • Cara Mempertahankan Data ke PostgreSQL di Java
  • Pengurusan proses latar belakang bash
  • Asas matematik komputer: binari, perpuluhan, heksadesimal, oktal