¿mod, div? ¡¡
Resuelto
sassoura
Mensajes publicados
21
Fecha de registro
Estado
Miembro
Última intervención
-
Usuario anónimo -
Usuario anónimo -
Bonjour,
¿Cómo escribir en shell el equivalente de los operadores de división euclidiana (/ en lenguaje C) y módulo (% en lenguaje C) en bash?
¡Muchas gracias! :)
Configuración: Linux / Firefox 19.0
¿Cómo escribir en shell el equivalente de los operadores de división euclidiana (/ en lenguaje C) y módulo (% en lenguaje C) en bash?
¡Muchas gracias! :)
Configuración: Linux / Firefox 19.0
1 respuesta
-
Hola,
Entiendo que quieres realizar operaciones aritméticas con el intérprete de comandos (¿cuál? sh? bash? ...)
El módulo y la división se expresan de la misma manera que en C.
echo $((2%3)) 2 echo $((2%2)) 0
Lee el manual.-
De hecho, lo publicó en la sección de shell, así que acabo de entender su pregunta (bueno, creo): ¿cómo se escribe en shell una división euclidiana y un módulo?
Así que tú diste la respuesta en bash...
En shell:
(mando@silk) (~) $ expr 16 / 3 5 (mando@silk) (~) $ expr 16 % 3 1
Para almacenarlo en una variable de shell:
x=$(expr 16 / 3) echo $x
Buena suerte -
-
¡Así que problema resuelto!
Piensa, como dice alguien que empieza por Q, en tomarte el tiempo de hacer una búsqueda en Google; para preguntas tan simples, normalmente eres capaz de encontrar la respuesta por ti mismo ;-)
Y sobre todo, intenta formular tu pregunta de manera más clara la próxima vez. Así que reescribí tu mensaje inicial para que las personas que encuentren este hilo de conversación comprendan mejor tu pregunta.
¡Buena tarde! ;-) -
-
Me parecía que el operador $(( )) era específico de bash, pero puedo estar equivocado. Reconozco que no hago mucho shell...
Al mismo tiempo, expr forma parte de coreutils, así que es solo un paquete "necesario" en Debian, así que bueno... programa externo es una palabra demasiado grande, creo que lo tendrás en todas partes :-) Dicho esto, si la sintaxis $((...)) funciona sin importar el shell, es más concisa, más legible y más limpia...
-