Bisakah saya mengerjakan matematika dasar di Bash?


Jawaban:


21

Ketikkan saja bcdi terminal. Kemudian ketikkan semua hal matematika setelah itu.

bcsingkatan dari " b asic c alculator"

Kemudian ketik quitdan masukkan untuk keluar.


2
Hanya untuk kejelasannya akan seperti itu: gema 25-5 | bc
Medhat Helmy

Untuk beberapa masalah matematika, Anda mungkin perlu membungkusnya dengan tanda kutip, sepertiecho '0.6 * 12' | bc
Goose

Anda mungkin juga perlu menambahkan skala untuk mendapatkan ketelitian floating point yaituecho "scale=2;557/3672" | bc
CpILL

60

Jika kita benar-benar berbicara tentang Bash, bukan Bourne Shell (sh) atau kerang lain, itu mudah.

Bash dapat menghitung ekspresi dasar dengan $ ((ekspresi)) dan inilah contoh bagaimana Anda ingin menggunakannya:

 a = 3
 b = 4
 c = $ ((7 * a + b))
 gema $ c

atau untuk penggunaan interaktif, adil

 echo $ ((7 * 3 + 4))

Tampaknya menjadi bash yang tepat, karena itu berhasil. Saya ssh-ing ke salah satu cluster universitas saya
Kurru

4
The $((expression))sintaks merupakan bagian dari POSIX shstandar, dan berasal dari ksh.
geekosaur

6
Bash hanya bisa melakukan bilangan aritmatika. Tidak dapat melakukan aritmatika titik apung seperti ksh93 atau zsh
fpmurphy

3
Ini seharusnya jawaban yang diterima.
Andreas Hartmann

10

Ada sejumlah utilitas baris perintah untuk melakukan perhitungan sederhana:

$ expr 100 \* 4
400

$ echo '100 * 4' | bc
400

untuk menyebutkan hanya dua dari mereka. Hati-hati melakukan penggandaan seolah-olah Anda tidak lolos * shell Anda mungkin mencoba dan menafsirkannya sebagai wildcard.



7

Baiklah pertanyaan Anda dijawab, tetapi pertimbangkan ini:

Sebagian besar distro linux memiliki python yang sudah diinstal, jadi mengapa tidak menggunakannya?

Ketik saja

python

di terminal dan kemudian lakukan semua aritmatika yang Anda inginkan, seperti

2+2

Akan menampilkan 4 :)

Anda juga dapat melakukan ini langsung dari terminal dengan -cargumen python.

python -c 'print 2+2'

Di komputer saya, pengetikan pythonmembutuhkan waktu hampir dua detik untuk memulai. Agak menyebalkan jika Anda hanya ingin melakukan sesuatu yang sederhana seperti 2 + 2.
ShreevatsaR

gunakan python3 jika Anda tidak ingin mengapung. misalnya 2 / 30(python: 0) (python3: 0.06666666666666667)
hrvoj3e

dan jika Anda hanya menginstal python3, tetapi ingin pembulatan, gunakan 2//30atauint(2/30)
mazunki

3

Atau Ruby. :)

Meskipun mungkin tidak diinstal sebelumnya, ini cukup cepat.

Ketikkan irb, lalu 2+2.

Atau hanya ruby -e 'p 2+2'


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.