Bisakah saya mengerjakan matematika dasar di Bash?
33
Saya bertanya-tanya, apakah mungkin melakukan matematika sederhana di bash? Saya sedang memikirkan sesuatu seperti, = 25-5 akan mencetak 20 atau sesuatu.
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 \* 4400
$ 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.
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.
Jawaban:
Ketikkan saja
bc
di terminal. Kemudian ketikkan semua hal matematika setelah itu.bc
singkatan dari " b asic c alculator"Kemudian ketik
quit
dan masukkan untuk keluar.sumber
echo '0.6 * 12' | bc
echo "scale=2;557/3672" | bc
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:
atau untuk penggunaan interaktif, adil
sumber
$((expression))
sintaks merupakan bagian dari POSIXsh
standar, dan berasal dariksh
.Ada sejumlah utilitas baris perintah untuk melakukan perhitungan sederhana:
untuk menyebutkan hanya dua dari mereka. Hati-hati melakukan penggandaan seolah-olah Anda tidak lolos * shell Anda mungkin mencoba dan menafsirkannya sebagai wildcard.
sumber
Lainnya adalah AWK:
sumber
Baiklah pertanyaan Anda dijawab, tetapi pertimbangkan ini:
Sebagian besar distro linux memiliki python yang sudah diinstal, jadi mengapa tidak menggunakannya?
Ketik saja
di terminal dan kemudian lakukan semua aritmatika yang Anda inginkan, seperti
Akan menampilkan 4 :)
Anda juga dapat melakukan ini langsung dari terminal dengan
-c
argumen python.sumber
python
membutuhkan waktu hampir dua detik untuk memulai. Agak menyebalkan jika Anda hanya ingin melakukan sesuatu yang sederhana seperti 2 + 2.2 / 30
(python:0
) (python3:0.06666666666666667
)2//30
atauint(2/30)
Atau Ruby. :)
Meskipun mungkin tidak diinstal sebelumnya, ini cukup cepat.
Ketikkan
irb
, lalu2+2
.Atau hanya
ruby -e 'p 2+2'
sumber
Perl adalah pilihan lain:
output
sumber