33 Eu queria saber, é possível fazer matemática simples no bash? Estou pensando que algo como, = 25-5 imprimiria 20 ou algo assim. Isso pode ser feito facilmente? Obrigado bash ssh Kurru fonte 1 Como fazer cálculos de números inteiros e flutuantes, no bash ou em outros idiomas / estruturas? phuclv Respostas: 21 Basta digitar bcno terminal. Em seguida, digite todas as coisas matemáticas depois disso. bcsignifica " b asic c alculator" Em seguida, digite quite digite para sair. DCIndieDev fonte 2 Só por uma questão de clareza, seria assim: eco 25-5 | bc Medhat Helmy Para alguns problemas de matemática, pode ser necessário envolvê-la entre aspas, comoecho '0.6 * 12' | bc Goose pode ser necessário adicionar escala para que a precisão do ponto flutuante funcione, ou seja,echo "scale=2;557/3672" | bc CpILL 60 Se estamos realmente falando sobre Bash, não sobre Bourne Shell (sh) ou outras conchas, é fácil. O Bash pode calcular expressões básicas com $ ((expression)) e aqui está um exemplo de como você pode usá-lo: a = 3 b = 4 c = $ ((7 * a + b)) eco $ c ou para uso interativo, apenas eco $ ((7 * 3 + 4)) Seikku Kaita fonte Parece ser uma festança adequada, pois isso funciona. Estou ssh-ing em um dos meus cachos universidades Kurru 4 A $((expression))sintaxe faz parte do shpadrão POSIX e é derivada de ksh. Geekosaur 6 O Bash só pode fazer aritmética inteira. Ele não pode fazer aritmética de ponto flutuante como ksh93 ou zsh fpmurphy 3 Esta deveria ter sido a resposta aceita. Andreas Hartmann 10 Existem vários utilitários de linha de comando para fazer cálculos simples: $ expr 100 \* 4 400 $ echo '100 * 4' | bc 400 para citar apenas dois deles. Cuidado ao fazer a multiplicação como se você não escapasse do seu *, o shell pode tentar interpretá-lo como um curinga. Majenko fonte 9 Outro é o AWK: awk 'BEGIN {print 4 + 3 / 12}' Pausado até novo aviso. fonte 7 Bem, sua pergunta foi respondida, mas considere o seguinte: A maioria das distribuições linux tem python pré-instalado, então por que não usá-lo? Apenas digite python no terminal e faça toda a aritmética desejada, como 2+2 Produzirá 4 :) Você também pode fazer isso diretamente do terminal com o -cargumento python. python -c 'print 2+2' Marcus Maxwell fonte No meu computador, a digitação pythonleva quase dois segundos para iniciar. Bastante irritante se você quiser fazer algo simples como 2 + 2. ShreevatsaR use python3 se você não quiser arredondamento de flutuação. eg 2 / 30(python: 0) (python3: 0.06666666666666667) hrvoj3e e se você tiver o python3 instalado, mas quiser arredondar, use 2//30orint(2/30) mazunki 8/09 3 Ou Ruby. :) Embora possa não ser pré-instalado, é bastante rápido. Digite irbentão 2+2. Ou apenas ruby -e 'p 2+2' turbilhão fonte 0 Perl é outra opção: perl -E 'say 1/7' saídas 0.142857142857143 Pausado até novo aviso. fonte
21 Basta digitar bcno terminal. Em seguida, digite todas as coisas matemáticas depois disso. bcsignifica " b asic c alculator" Em seguida, digite quite digite para sair. DCIndieDev fonte 2 Só por uma questão de clareza, seria assim: eco 25-5 | bc Medhat Helmy Para alguns problemas de matemática, pode ser necessário envolvê-la entre aspas, comoecho '0.6 * 12' | bc Goose pode ser necessário adicionar escala para que a precisão do ponto flutuante funcione, ou seja,echo "scale=2;557/3672" | bc CpILL 60 Se estamos realmente falando sobre Bash, não sobre Bourne Shell (sh) ou outras conchas, é fácil. O Bash pode calcular expressões básicas com $ ((expression)) e aqui está um exemplo de como você pode usá-lo: a = 3 b = 4 c = $ ((7 * a + b)) eco $ c ou para uso interativo, apenas eco $ ((7 * 3 + 4)) Seikku Kaita fonte Parece ser uma festança adequada, pois isso funciona. Estou ssh-ing em um dos meus cachos universidades Kurru 4 A $((expression))sintaxe faz parte do shpadrão POSIX e é derivada de ksh. Geekosaur 6 O Bash só pode fazer aritmética inteira. Ele não pode fazer aritmética de ponto flutuante como ksh93 ou zsh fpmurphy 3 Esta deveria ter sido a resposta aceita. Andreas Hartmann 10 Existem vários utilitários de linha de comando para fazer cálculos simples: $ expr 100 \* 4 400 $ echo '100 * 4' | bc 400 para citar apenas dois deles. Cuidado ao fazer a multiplicação como se você não escapasse do seu *, o shell pode tentar interpretá-lo como um curinga. Majenko fonte 9 Outro é o AWK: awk 'BEGIN {print 4 + 3 / 12}' Pausado até novo aviso. fonte 7 Bem, sua pergunta foi respondida, mas considere o seguinte: A maioria das distribuições linux tem python pré-instalado, então por que não usá-lo? Apenas digite python no terminal e faça toda a aritmética desejada, como 2+2 Produzirá 4 :) Você também pode fazer isso diretamente do terminal com o -cargumento python. python -c 'print 2+2' Marcus Maxwell fonte No meu computador, a digitação pythonleva quase dois segundos para iniciar. Bastante irritante se você quiser fazer algo simples como 2 + 2. ShreevatsaR use python3 se você não quiser arredondamento de flutuação. eg 2 / 30(python: 0) (python3: 0.06666666666666667) hrvoj3e e se você tiver o python3 instalado, mas quiser arredondar, use 2//30orint(2/30) mazunki 8/09 3 Ou Ruby. :) Embora possa não ser pré-instalado, é bastante rápido. Digite irbentão 2+2. Ou apenas ruby -e 'p 2+2' turbilhão fonte 0 Perl é outra opção: perl -E 'say 1/7' saídas 0.142857142857143 Pausado até novo aviso. fonte
60 Se estamos realmente falando sobre Bash, não sobre Bourne Shell (sh) ou outras conchas, é fácil. O Bash pode calcular expressões básicas com $ ((expression)) e aqui está um exemplo de como você pode usá-lo: a = 3 b = 4 c = $ ((7 * a + b)) eco $ c ou para uso interativo, apenas eco $ ((7 * 3 + 4)) Seikku Kaita fonte Parece ser uma festança adequada, pois isso funciona. Estou ssh-ing em um dos meus cachos universidades Kurru 4 A $((expression))sintaxe faz parte do shpadrão POSIX e é derivada de ksh. Geekosaur 6 O Bash só pode fazer aritmética inteira. Ele não pode fazer aritmética de ponto flutuante como ksh93 ou zsh fpmurphy 3 Esta deveria ter sido a resposta aceita. Andreas Hartmann 10 Existem vários utilitários de linha de comando para fazer cálculos simples: $ expr 100 \* 4 400 $ echo '100 * 4' | bc 400 para citar apenas dois deles. Cuidado ao fazer a multiplicação como se você não escapasse do seu *, o shell pode tentar interpretá-lo como um curinga. Majenko fonte 9 Outro é o AWK: awk 'BEGIN {print 4 + 3 / 12}' Pausado até novo aviso. fonte 7 Bem, sua pergunta foi respondida, mas considere o seguinte: A maioria das distribuições linux tem python pré-instalado, então por que não usá-lo? Apenas digite python no terminal e faça toda a aritmética desejada, como 2+2 Produzirá 4 :) Você também pode fazer isso diretamente do terminal com o -cargumento python. python -c 'print 2+2' Marcus Maxwell fonte No meu computador, a digitação pythonleva quase dois segundos para iniciar. Bastante irritante se você quiser fazer algo simples como 2 + 2. ShreevatsaR use python3 se você não quiser arredondamento de flutuação. eg 2 / 30(python: 0) (python3: 0.06666666666666667) hrvoj3e e se você tiver o python3 instalado, mas quiser arredondar, use 2//30orint(2/30) mazunki 8/09 3 Ou Ruby. :) Embora possa não ser pré-instalado, é bastante rápido. Digite irbentão 2+2. Ou apenas ruby -e 'p 2+2' turbilhão fonte 0 Perl é outra opção: perl -E 'say 1/7' saídas 0.142857142857143 Pausado até novo aviso. fonte
10 Existem vários utilitários de linha de comando para fazer cálculos simples: $ expr 100 \* 4 400 $ echo '100 * 4' | bc 400 para citar apenas dois deles. Cuidado ao fazer a multiplicação como se você não escapasse do seu *, o shell pode tentar interpretá-lo como um curinga. Majenko fonte
7 Bem, sua pergunta foi respondida, mas considere o seguinte: A maioria das distribuições linux tem python pré-instalado, então por que não usá-lo? Apenas digite python no terminal e faça toda a aritmética desejada, como 2+2 Produzirá 4 :) Você também pode fazer isso diretamente do terminal com o -cargumento python. python -c 'print 2+2' Marcus Maxwell fonte No meu computador, a digitação pythonleva quase dois segundos para iniciar. Bastante irritante se você quiser fazer algo simples como 2 + 2. ShreevatsaR use python3 se você não quiser arredondamento de flutuação. eg 2 / 30(python: 0) (python3: 0.06666666666666667) hrvoj3e e se você tiver o python3 instalado, mas quiser arredondar, use 2//30orint(2/30) mazunki 8/09 3 Ou Ruby. :) Embora possa não ser pré-instalado, é bastante rápido. Digite irbentão 2+2. Ou apenas ruby -e 'p 2+2' turbilhão fonte 0 Perl é outra opção: perl -E 'say 1/7' saídas 0.142857142857143 Pausado até novo aviso. fonte
3 Ou Ruby. :) Embora possa não ser pré-instalado, é bastante rápido. Digite irbentão 2+2. Ou apenas ruby -e 'p 2+2' turbilhão fonte
Respostas:
Basta digitar
bc
no terminal. Em seguida, digite todas as coisas matemáticas depois disso.bc
significa " b asic c alculator"Em seguida, digite
quit
e digite para sair.fonte
echo '0.6 * 12' | bc
echo "scale=2;557/3672" | bc
Se estamos realmente falando sobre Bash, não sobre Bourne Shell (sh) ou outras conchas, é fácil.
O Bash pode calcular expressões básicas com $ ((expression)) e aqui está um exemplo de como você pode usá-lo:
ou para uso interativo, apenas
fonte
$((expression))
sintaxe faz parte dosh
padrão POSIX e é derivada deksh
.Existem vários utilitários de linha de comando para fazer cálculos simples:
para citar apenas dois deles. Cuidado ao fazer a multiplicação como se você não escapasse do seu *, o shell pode tentar interpretá-lo como um curinga.
fonte
Outro é o AWK:
fonte
Bem, sua pergunta foi respondida, mas considere o seguinte:
A maioria das distribuições linux tem python pré-instalado, então por que não usá-lo?
Apenas digite
no terminal e faça toda a aritmética desejada, como
Produzirá 4 :)
Você também pode fazer isso diretamente do terminal com o
-c
argumento python.fonte
python
leva quase dois segundos para iniciar. Bastante irritante se você quiser fazer algo simples como 2 + 2.2 / 30
(python:0
) (python3:0.06666666666666667
)2//30
orint(2/30)
Ou Ruby. :)
Embora possa não ser pré-instalado, é bastante rápido.
Digite
irb
então2+2
.Ou apenas
ruby -e 'p 2+2'
fonte
Perl é outra opção:
saídas
fonte