Cara membuat perhitungan desimal dalam bash menggunakan bc

Cara membuat perhitungan desimal dalam bash menggunakan bc

Perhitungan desimal terkadang diperlukan dalam pesta. Idiom Pemrograman Bash Perhitungan Standar ($ []) tidak dapat memberikan output desimal. Sementara kita dapat menipu untuk menghitung (tetapi tidak menghasilkan) output desimal dengan mengalikan angka dengan misalnya faktor 1000 dan kemudian melakukan pemisahan berdasarkan teks, ini adalah solusi yang buruk dan membuat kode yang kompleks. Namun ada utilitas dalam bash yang secara alami dapat melakukan perhitungan berbasis desimal tanpa trik atau solusi!

Dalam tutorial ini Anda akan belajar:

  • Cara menggunakan BC untuk melakukan perhitungan desimal
  • Cara membuat perhitungan berbasis desimal di baris perintah bash atau dari dalam skrip Anda
  • Cara menggunakan variabel untuk menyimpan hasil yang dihasilkan oleh BC
  • Cara menggunakan variabel dalam perhitungan lebih lanjut
  • Cara menghindari kesalahan penawaran variabel bash
Cara membuat perhitungan desimal dalam bash menggunakan bc

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Distribusi Linux-independen
Perangkat lunak Baris perintah bash, sistem berbasis Linux
Lainnya Utilitas apa pun yang tidak termasuk dalam shell bash secara default dapat diinstal menggunakan sudo apt-get install-name utilitas (atau instalasi yum untuk sistem berbasis redhat)
Konvensi # - mengharuskan Linux -Commands untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$-mengharuskan Linux-Commands untuk dieksekusi sebagai pengguna biasa

Memasang BC

Untuk menginstal BC di Ubuntu, Mint atau sistem operasi berbasis Debian/APT lainnya, ketik:

$ sudo apt instal bc 


Untuk menginstal BC di fedora, redhat atau sistem operasi berbasis redhat/yum lainnya, ketik:

$ sudo yum menginstal bc 

Perhitungan bash default

Kita dapat melakukan masalah divisi sederhana secara langsung di Bash:

$ echo $ [13/4] 3 

Ini mencoba dan membagi 13 dengan 4 menggunakan idiom bash standar $ [Perhitungan]. Sementara ini cukup fleksibel:

$ echo "1+1? Jawabannya adalah: $ [1 + 1] "1 + 1? Jawabannya adalah: 2 

Sayangnya tidak dapat mengeluarkan desimal. Penanganan masalah ini kompleks dan jelek seperti yang dijelaskan sebelumnya.

BC untuk menyelamatkan

Solusi yang lebih elegan adalah menggunakan bc untuk perhitungan.

Sementara BC juga dapat digunakan untuk perhitungan yang sama seperti yang sudah dimungkinkan dalam bash:

$ echo '13 / 4 '| BC 3 


Itu juga dapat menghasilkan hasil berbasis desimal menggunakan -l (-l mendefinisikan opsi pustaka matematika standar) bc:

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

Menyimpan hasil sebagai variabel

Kami juga dapat menyimpan hasil sebagai variabel dengan menggunakan subshell:

$ Hasil = $ (echo '13/4 '| bc -l) $ echo $ hasil 3.25000000000000000000 

Di sini kami menggunakan perhitungan yang sama seperti pada contoh terakhir, tetapi kami menggunakan subshell $ () untuk melakukan perhitungan. Ini memungkinkan kami untuk menyimpan hasil dalam suatu variabel dengan mudah. Kami sekarang dapat menggunakan variabel ini lebih lanjut dalam perhitungan lain, atau hanya menghasilkan hasil seperti yang ditunjukkan di atas. Untuk menggunakannya dalam perhitungan lain, Anda dapat:

$ echo "$ hasil * 4" | BC -L 13.00000000000000000000 

Harap dicatat bagaimana kami menggunakan kutipan ganda kali ini untuk menentukan aritmatika kami. Alasan untuk ini adalah kami menginginkan $ Hasil variabel yang akan diganti dengan nilai aktualnya. Jika kami menggunakan satu kutipan (') Sebaliknya, operasi akan gagal karena nama variabel akan dianggap sebagai input literal. Dengan kata lain, tidak ada substitusi terhadap nilainya yang akan terjadi, seperti yang dapat kita lihat dari output berikut:

$ echo '$ hasil * 4' | bc -l (standard_in) 1: karakter ilegal: $ (standard_in) 1: kesalahan sintaksis 

Siap belajar lebih banyak bash? Jelajahi Seri Tip dan Trik Baris Perintah Bash kami yang berguna!

Kesimpulan

Dalam artikel ini, kami mengeksplorasi cara membuat perhitungan berbasis desimal dengan bc di baris perintah. Perintah yang sama berfungsi dengan baik saat digunakan dari dalam skrip shell. Kami juga melihat kekurangan menggunakan idiom perhitungan bash standar, serta menggunakan variabel dalam kombinasi dengan bc Menggunakan subsklells. Akhirnya kami menemukan apa yang terjadi jika seseorang salah mengutip variabel dalam bash.

Tutorial Linux Terkait:

  • Ubuntu 20.04 trik dan hal -hal yang mungkin tidak Anda ketahui
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 3
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 1
  • Idiom variabel lanjutan bash untuk sensitivitas kasus…
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 4
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 2
  • Contoh dan trik Contoh Tip Baris Bash Berguna - Bagian 5
  • Cara bertahan data ke postgresql di java
  • Manajemen proses latar belakang bash
  • Dasar -dasar matematika komputer: biner, desimal, heksadesimal, oktal