Problema de sqrt en bash

guillermo -  
lami20j Mensajes publicados 21506 Fecha de registro   Estado Moderador, Colaborador de seguridad Última intervención   -
Hola,
en este momento, estoy haciendo un programa en bash y necesito calcular una raíz cuadrada.
Para eso, utilizo el comando sqrt:
para calcular la raíz cuadrada de la variable "$a" y ponerla en la variable "$rac", hago lo siguiente: $rac = sqrt($a)

Pero cuando ejecuto el script, obtengo el siguiente mensaje:
./essai2.sh: línea 14: Error de sintaxis cerca del símbolo inesperado « ( »
./essai2.sh: línea 14: '$rac = sqrt($a)'

Gracias de antemano.

Configuración: Linux / Firefox 3.6.13

2 respuestas

  1. KarCAroum Mensajes publicados 298 Estado Miembro 91
     
    buenas noches,
    bc -l <<<"sqrt($a)"
    rac=$(bc -l <<<"sqrt($a)") (corregido)
    2
    1. zipe31 Mensajes publicados 34620 Fecha de registro   Estado Colaborador Última intervención   6 501
       
      Hola,

      Una variable en bash se declara sin el signo "$" (dólar) y sin espacio ni antes ni después del signo "=" (igual) ;-((

      rac=$(bc -l <<<"sqrt($a)")
      0
    2. KarCAroum Mensajes publicados 298 Estado Miembro 91
       
      certamente, pero lo esencial es bc -l <<<"sqrt($a)"
      0
    3. zipe31 Mensajes publicados 34620 Fecha de registro   Estado Colaborador Última intervención   6 501
       
      Ciertamente sí, pero el comentario era solo en el interés de nuestro amigo guillermo ;-))
      1
    4. KarCAroum Mensajes publicados 298 Estado Miembro 91
       
      ella está totalmente justificada
      0
    5. lami20j Mensajes publicados 21506 Fecha de registro   Estado Moderador, Colaborador de seguridad Última intervención   3 571
       
      Hola,

      @zipe31

      Me recuerda un mensaje ;-)
      0
  2. guillermo
     
    Merci beaucoup, funciona. Pero me gustaría entender por qué debemos poner: "bc -l".
    0
    1. lami20j Mensajes publicados 21506 Fecha de registro   Estado Moderador, Colaborador de seguridad Última intervención   3 571
       
      Re,

      Prueba sin -l y verás
      Mira man bc también
      0