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.

DCIndieDev
sumber
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))
Seikku Kaita
sumber
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.

Majenko
sumber
9

Lainnya adalah AWK:

awk 'BEGIN {print 4 + 3 / 12}'
Dijeda sampai pemberitahuan lebih lanjut.
sumber
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'
Marcus Maxwell
sumber
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'

pusaran angin
sumber
0

Perl adalah pilihan lain:

perl -E 'say 1/7'

output

0.142857142857143
Dijeda sampai pemberitahuan lebih lanjut.
sumber