Bash'de temel matematik yapabilir miyim?


Yanıtlar:


21

Sadece bcterminale yazın. Ardından tüm matematik işlemlerini bundan sonra yazın.

bc"anlamına gelir b Te c alculator"

Ardından quitçıkmak için yazın ve girin.


2
Sadece netlik için böyle olurdu: echo 25-5 | bc
Medhat Helmy

Bazı matematik problemleri için, bunu alıntılar halinde yapmanız gerekebilirecho '0.6 * 12' | bc
Goose

kayan noktaların hassas çalışmasını sağlamak için ölçek eklemeniz gerekebilir, yaniecho "scale=2;557/3672" | bc
CpILL

60

Eğer gerçekten Bash hakkında konuşuyorsak, Bourne Kabuğu (sh) veya diğer mermilerden bahsetmiyorsak, kolay.

Bash, temel ifadeleri $ ((expression)) ile hesaplayabilir ve işte onu nasıl kullanmak isteyebileceğinize bir örnek:

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

veya etkileşimli kullanım için, sadece

 eko $ ((7 * 3 + 4))

İşe yaradığından beri uygun bash gibi görünüyor. Üniversitelerimdeki kümelerden birine giriyorum
Kurru

4
$((expression))Sözdizimi POSIX bir parçası olan shstandart ve elde edilen ksh.
geekosaur

6
Bash sadece tamsayı aritmetik yapabilir. Bu
ksh93

3
Bu kabul edilen cevap olmalıydı.
Andreas Hartmann

10

Basit hesaplamalar yapmak için çeşitli komut satırı yardımcı programları vardır:

$ expr 100 \* 4
400

$ echo '100 * 4' | bc
400

sadece ikisine isim vermek için. Çarpma yaparken dikkatli olun, sanki kaçmazsanız * kabuk bir joker olarak yorumlayabilir.



7

Sorunuz cevaplandı, ancak şunu düşünün:

Linux dağıtımlarının çoğunda önceden yüklenmiş python var, neden kullanmıyorsunuz?

Sadece yaz

python

Terminalde ve sonra istediğiniz tüm aritmetik yapmak

2+2

4 çıkacak :)

Bunu ayrıca doğrudan -cpython argümanı ile terminalden yapabilirsiniz .

python -c 'print 2+2'

Bilgisayarımda yazmaya pythonbaşlamak neredeyse iki saniye sürüyor. Sadece 2 + 2 gibi basit bir şey yapmak istiyorsanız can sıkıcı bir durum.
ShreevatsaR

şamandıra yuvarlama istemiyorsanız python3 kullanın. mesela 2 / 30(piton: 0) (python3: 0.06666666666666667)
hrvoj3e

ve eğer sadece python3 kurulu ise, ama yuvarlama istiyorsanız, kullanın 2//30ya daint(2/30)
mazunki

3

Veya Ruby. :)

Önceden yüklenmiş gelmese de, oldukça hızlıdır.

Yazın irb, sonra 2+2.

Ya da sadece ruby -e 'p 2+2'


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.