Zastanawiałem się, czy można robić proste matematyki w bash? Myślę, że coś w stylu = 25-5 wydrukuje 20 lub coś takiego.
Czy można to zrobić łatwo?
Dziękuję Ci
Zastanawiałem się, czy można robić proste matematyki w bash? Myślę, że coś w stylu = 25-5 wydrukuje 20 lub coś takiego.
Czy można to zrobić łatwo?
Dziękuję Ci
Odpowiedzi:
Wystarczy wpisać bc
w terminalu. Następnie wpisz wszystkie matematyki.
bc
oznacza „ b wo c alculator”
Następnie wpisz quit
i wprowadź, aby wyjść.
echo '0.6 * 12' | bc
echo "scale=2;557/3672" | bc
Jeśli tak naprawdę mówimy o Bash, a nie Bourne Shell (sh) lub innych powłokach, jest to łatwe.
Bash może obliczyć podstawowe wyrażenia za pomocą $ ((wyrażenie)), a oto przykład, w jaki sposób możesz go użyć:
a = 3 b = 4 c = $ ((7 * a + b)) echo $ c
lub tylko do użytku interaktywnego
echo $ ((7 * 3 + 4))
$((expression))
Składni część POSIX sh
standardu i pochodzących od ksh
.
Istnieje wiele narzędzi wiersza polecenia do wykonywania prostych obliczeń:
$ expr 100 \* 4
400
$ echo '100 * 4' | bc
400
wymienić tylko dwa z nich. Zachowaj ostrożność przy mnożeniu, tak jakbyś nie uciekł od * powłoki, która może spróbować zinterpretować ją jako symbol wieloznaczny.
Kolejnym jest AWK:
awk 'BEGIN {print 4 + 3 / 12}'
Odpowiedź na twoje pytanie, ale zastanów się:
Większość dystrybucji Linuksa ma preinstalowanych Python, więc dlaczego go nie użyć?
Po prostu wpisz
python
w terminalu, a następnie wykonaj całą arytmetykę, jak chcesz
2+2
Wyjdzie 4 :)
Możesz to również zrobić bezpośrednio z terminala za pomocą -c
argumentu python.
python -c 'print 2+2'
python
zajmuje prawie dwie sekundy. Raczej denerwujące, jeśli chcesz po prostu zrobić coś prostego, takiego jak 2 + 2.
2 / 30
(Python: 0
) (python3: 0.06666666666666667
)
2//30
lubint(2/30)
Perl to kolejna opcja:
perl -E 'say 1/7'
wyjścia
0.142857142857143