Para calcular a raiz quadrada de um número em Shell, use o comando bc. Ele é uma calculadora completa, que entre outras funções úteis, tem a sqrt (de “square root”).
Basta mandar o comando pela entrada padrão (STDIN) e o resultado aparece na saída padrão (STDOUT):
$ echo "sqrt(16)" | bc 4 $ echo "sqrt(144)" | bc 12
Para guardar o número e o resultado em variáveis, faça assim:
numero=144 resultado=$(echo "sqrt($numero)" | bc) echo "A raiz quadrada de $numero é $resultado"
Alguns shells são capazes de fazer o mesmo usando algum modo matematico built-in. Basicamente uma raiz quadrada é o mesmo que elevar o numero à potencia 1/2 (lembram disso?), veja como fazer via ksh:
$ echo $((2**3)) # 2 elevado à 3 potencia
8
$ echo $((9**0.5)) # raiz quadrada de 9
3
$ echo $((10**0.5)) # raiz quadrada de 10
3.16227766017
Vc pode fazer o mesmo com zsh. Infelizmente o Bash não suporta operações matemáticas com numeros não-inteiros, mas vc pode trabalhar com potencias inteiras (como o primeiro exemplo).
Olá, acredito que, se for uma tarefa constante, compensa até criar uma função. Algo do tipo:
sqrt() { echo “sqrt($1)” | bc ; } # ou bc -l
Aí é só chamar:
i=$(sqrt 10)
echo $i
3
E Tiago, não sabia que o ksh e o zsh faziam isto… Mancada do pessoal do bash, hein? É o shell mais usado mas não implementa muitos recursos legais que os outros tem… Tem um colega meu que tentou durante um longo tempo me fazer usar o zsh, que percebi ser bem melhor que o bash mesmo, mas por alguma razão continuo firme neste segundo…
(v3 + v2)²
qual é a raiz quadrada de V2.V3
quero saber qual a raíz quadrada de 1460.
será que alguem me pode ajudar???
eu tenho de f,azer um trabalho em bash shell script onde tenho de criar uma calculadora numerica. o meu problema é nao conseguir usar o cos, sin, exp, tan, cotan e ln.
ja me disseram pra acrescentar |bc -l no fim dessa linha de codigo, mas tb n da…