Estoy buscando una calculadora que pueda hacer cálculos en el terminal sin otros prefijos y sufijos adicionales.
Por ejemplo: si escribí algo como 10000-9000 en la terminal, la respuesta debería salir como 1000.
Una vez más, digo, solo necesito una calculadora rápida en la terminal, sin ningún carácter agregado. Sé que si me cambio a Python, puede hacer eso, pero no lo quiero de esa manera.

command_not_foundgancho e intentar alimentar el comando abc/calc/ lo que sea si se parece vagamente a las matemáticas. Sin embargo, todavía se siente un poco sucio.Respuestas:
Aritmética Bash
Otra posible solución es agregar una función simple para la aritmética integrada de Bash. Pon esto en tu
.bashrcarchivo para probar:Así que ahora, ya no necesitas
$((...))más, solo lo=que parece bastante natural.Reemplazo
Otra cosa si quieres ser aún más rápido: puedes reemplazarlo
pcon+yxcon*. Esto funcionará para eso:Ahora ya ni siquiera lo necesitas Shift, lo único está
=delante de la aritmética.Salida hexadecimal
La salida se puede mostrar en decimal y hexadecimal, si así se desea. ( Nota : el uso de la
xsustitución entrará en conflicto con la0x...sintaxis hexadecimal)Ejemplo:
Utilizando
bcSi desea cálculos un poco más avanzados, puede canalizarlo
bcasí:Las funciones proporcionadas por
bcson las siguientes (y se pueden encontrar enman bc):También es compatible con
if,for,whiley variables como un lenguaje de programación, aunque si puede ser mejor para escribir en un archivo si quería eso.Tenga en cuenta que sustituirá
pyxen nombres de funciones / variables. Puede ser mejor simplemente eliminar los reemplazos.Utilizando
gcalccmdTambién puede hacer que la función llame
gcalccmd(desdegnome-calculator) así:Las funciones disponibles parecen ser (tomadas directamente del código fuente ),
==denotan funciones equivalentes:fuente
gcalccmdno funciona bastante bien.Error 3Probablemente se deba a ese espacio en blanco perdido. Sin embargo, este ligeramente modificado funcionó perfectamente para mí:echo -e "$calc\nquit"| gcalccmd | sed "s:^> ::g"function = { R -q --vanilla -e "$@" | grep -E '[^>](.*)' -o -x --color=never }= 2 + 0x2034 (0x22)Puede hacer aritmética de enteros simples de forma nativa en bash utilizando la
((...))sintaxis, por ejemploTambién está la
bccalculadora, que puede aceptar expresiones aritméticas en la entrada estándarEl
bcprograma también puede hacer aritmética de coma flotantefuente
calc()NL{NLecho "$@" | bcNL}donde NL es una nueva línea. Luego puede escribircalc 1234 + 768(impresiones2002), o cualquier otra fórmula quebcpueda interpretar. Por supuesto, puede usar cualquier nombre de función, solo pensé quecalcencajaba muy bien con lo que esto hace.echo:bc <<< "2*2"Puedes usar
calc. No se instala de manera predeterminada, pero puede instalarlo rápidamente con el siguiente comando:Después de haberlo instalado, puede hacer cualquier cálculo que desee:
Para obtener más información, vea su página de manual
fuente
man calcy localc helpdice todo.calc help builtinpara ver una lista de funciones compatibles comosin()Desafortunadamente, no hay una forma "más fácil" de hacer esto. La interfaz interactiva de Python en la línea de comandos es la más adecuada para lo que necesita, porque a diferencia de
apcalc\,pythonse incluye en Ubuntu. No estoy seguro de sibctodavía se incluye, sin embargo, Python es el favorito para estas cosas.Simplemente puede ejecutar la
pythoninterfaz interactiva en la línea de comando, y luego hacer las matemáticas de esa manera. Puedes usar eso como tu calculadora.Para hacer eso, abre la terminal, escribe
python, luego presiona el Enterbotón.Luego, en el indicador de Python que aparece, puede escribir sus matemáticas. Por ejemplo
10000 - 9000,. La siguiente salida de línea es el resultado.Sin embargo, si quieres decir algo en lo que solo cargas la terminal y puedes hacer esto ...
... entonces no, no hay forma de hacer esto solo en la terminal sin otra cosa, porque Bash no maneja argumentos numéricos como ese.
fuente
ipythones bastante más útil que el shell estándar de Python cuando se trata de hacer cálculos y cosas por el estilo.Te aconsejo que crees una función simple para cálculos básicos de Python. Algo así en tu
.bashrc:Si desea hacer matemáticas más avanzadas, puede usar la siguiente que importa todas las
mathfunciones del módulo. (ver aquí para más información)(Nota: debido a que Python es un lenguaje de programación, algunas cosas pueden parecer extrañas, por ejemplo,
**para potencias y%para módulos)Alternativamente, puede crear un script de Python
calc,colóquelo en un directorio incluido en la
PATHvariable y establezca su indicador ejecutable para obtener el mismocalccomando que el anterior (no es necesario crear una función Bash para ejecutar un script Python).Si desea un método en puro Bash, use la respuesta de steeldriver. Esta respuesta solo es realmente beneficiosa si necesita las funciones más avanzadas (es decir, de
math), ya que Python es relativamente lento en comparación con Bash.No estoy seguro si esto rompe su "cambio a Python, puede hacer eso y no lo quiero de esa manera". tenga en cuenta, pero no es necesario que ingrese la solicitud interactiva y el resultado es accesible en Bash, por lo que esta respuesta parece válida (al menos para mí).
fuente
c,?o+?) por lo que tendrá que cada terminal se abre.python2 -c "from __future__ import division; from math import *; print($*)"contrario, siempre hará una división entera, por ejemplo, paracalc 5/2obtener en2lugar de2.5. Consulte aquí para referencia: stackoverflow.com/a/183870/202504piye. Siento que poner esto como un script separado es más flexible y portátil. Aquí hay una ideaUse el paquete
gcalccmdfromgnome-calculator(> = 13.04) ogcalctool(<13.04). Creo que el paquete está instalado por defectofuente
man gcalccmddice: una calculadora de consola . Simplemente, es exactamente lo que OP quiere ... :)./bash_aliasesigualalias calc='gcalccmd'o si desea realizar cálculos de una sola vez (con respuesta instantánea), se puede añadiralias calc='gnome-calculator -s'- el uso de este último:calc 2000/1300ocalc 2+3. En ese caso, no hay necesidad de salir de la calculadora, solo le da una respuesta y no necesita escribirquit.Aquí hay un script de shell rápido para esto:
Guarde esto como "c", luego póngalo en algún lugar de su ruta (como / bin), luego márquelo como ejecutable.
A partir de ahora, puede ejecutar cálculos en el terminal de esta manera:
fuente
echo "$@" | bcen su lugar para que pueda dejar espacios en los cálculos de forma más natural=lugar decpara el nombre de este comando? Bash realmente te permite usar esto como el nombre de una función.~/bin(su directorio de iniciobin) y asegurarse de que/home/yourname/binesté en suPATH.Aquí hay una modificación de la parte apropiada de
/etc/bash.bashrc(en Ubuntu 10.04) que modificará elcommand_not_foundcontrolador para ejecutar el evaluador de expresiones del shell si el primer carácter del comando desconocido es un número o-o+.Podrá hacer cualquier cálculo aritmético de esta manera; consulte http://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic para obtener una lista de operadores aritméticos.
Tenga en cuenta que si la expresión que desea evaluar contiene a
*, deberá citar*con\o entre comillas, ya que el shell realizará la expansión del nombre de archivo antes de decidir qué comando ejecutar. Lo mismo para otros operadores como>>.Pon esto en tu
~/.bashrc, luego escribe. ~/.bashrcy pruébalo.Ejemplo de salida: (estoy escribiendo
cta, un error tipográfico, solo para probar que nuestro nuevo controlador command_not_found aún intentará buscar comandos desconocidos).fuente
echo $(( $@ ))y cambiarla, en su lugar, ejecutar uno de los programas de calculadora más avanzados que otros respondedores han mencionado que toman sus argumentos en la línea de comando.Otra solución que no he visto mencionada aquí es Qalculate (qalc) .
para la versión CLI,
para la GUI
Tiene un montón de características como:
20 m / s * 12 h = 864 kilompi,e,c,avogadrosin(pi) = 0,gamma(4) = 6,5! = 120,log(1024, 2) = 10(x + y)^2 = x^2 + 2xy + y^2integrate 3*x^2 = x^3,diff sin(x), pihelp convert,help integratefactorial(5)yfaculteit(5).Dices que quieres usarlo sin prefijos, bueno ... puedes usarlo con un prefijo:
$ qalc 5 ft + 3 cm(5 * foot) + (3 * centim) = 1.554 m
así como ejecutarlo como respuesta.
fuente
dc! Es parte de coreutils, por lo que está instalado en OS X, Ubuntu y prácticamente TODO lo demás. Es una calculadora RPN, así que si no te gustan, no es para ti.Los comandos muy básicos son los siguientes (la página de manual tiene toda la sintaxis que no incluí. Exponenciación, ¿alguien?)
Solo necesitas espacios entre números. Se ignoran en todos los demás casos.
Escribir un número lo empuja a la parte superior de la pila.
fuente
42 * 5en un terminal, y haga que salga la respuesta1+1en una terminal casi nunca funcionará. Entonces su respuesta está bienYo uso Octave para este tipo de cosas: http://www.gnu.org/software/octave/
Es más o menos un clon de matlab (disculpas si se trata de una simplificación excesiva) que se puede usar en el terminal escribiendo octava. Instalar sudo apt-get install octave
No es exactamente lo que quieres, pero pensé que lo agregaría como una alternativa a Python.
Ejemplo de uso:
fuente
Me gusta mucho wcalc. Es una calculadora científica de línea de comando. Fácil de encontrar en el Centro de software de Ubuntu, o simplemente use apt-get.
Acepta argumentos de línea de comando y tiene el modo "shell":
Y si alguien está en ingeniería, como yo, podría utilizar GNU Octave. Puede hacer todo tipo de cosas, graficar, resolver ecuaciones simultáneas. Además, es una alternativa gratuita a Matlab
fuente
=() { wcalc "$@" }manera simple es llamar a python.
Ejemplo:
fuente
python -c 'import math;print math.log(2)'Lo que he encontrado es que no puedo confiar en expr, bc o en las opciones integradas de Shell. Por lo tanto, utilicé Perl que normalmente se instalaría en * linux distro's
El cálculo anterior restará $ VAL1 de $ VAL2 e imprimirá sin decimales (0f)
El beneficio de usar Perl es (detalles de Pros y contras listados aquí )
fuente
Puede agregar la siguiente función a su archivo .bashrc:
Tenga en cuenta que la
-lbandera es muy importante. Sin ella, el uso debcda5 / 2 = 2.Como se mencionó anteriormente, los cálculos se pueden hacer usando el
=signo delante de la fórmula.fuente
También puede usar awk para hacer algunos cálculos aritméticos en la terminal,
fuente
use el comando "bc" y luego puede hacer el cálculo
ejemplo
Para usar
bcsin la nota de garantía escriba en el terminalbc -qejemplo
fuente
Puede usar bind y bash C-ay C-epara controlar la salida. Por ejemplo, ejecute esto en su shell:
Ahora escriba cualquier operación aritmética como 10 + 15 y presione Ctrl+ J:
Obtendrás esto. Ahora, ¿cómo se hace?
bindEste comando cambia el enlace de su bash, como las teclas de acceso directo.\C-jeste es el bash equivalente a Ctrl + J, esta es la combinación de teclas que nos gustaría agregar a nuestro comando.\C-aEsto nos lleva al inicio de la línea.echo $((Esto escribeecho $((al principio.\C-enos lleva al final de la línea))cierra nuestro paréntesis anterior\C-mEste es el equivalente a la tecla de retorno.Puede escribir esto en su
~/.inputrcarchivo:¡Por supuesto, las otras respuestas también son válidas! Solo retoqué un poco:
"\C-j": "\C-aecho " \C-e " | bc \C-m""\C-j": "\C-acacl \C-m""\C-j": "\C-apython3 -c "print( \C-e )" \C-m"Puede cambiar Ctrl + J a lo que quiera, pero recuerde, intente no cambiarlo por algo que ya tenga un enlace;).
Recurso:
fuente
En el pasado, he usado
wcalcun pequeño programa llamadoeque es prácticamente imposible buscar en Google. Ahora uso un script de Python para hacer esto, que usa algunas característicasecomo los corchetes.wcalcsigue siendo bueno porque puede hacer precisión arbitraria y conversión de unidades, pero casi nunca uso esas características.Aquí se explica cómo usarlo (suponiendo que el guión se haya guardado como
ey puesto en algún lugar del$PATH):fuente
Hay una forma de un solo paso para lograr exactamente lo que quieres. Todo lo que necesita hacer es configurar
shellsu cuenta/bin/bc.fuente
También puede usar
printfshell incorporado para hacer cálculos aritméticos en la terminal.Ejemplo:
fuente
Puede usar el intérprete de python para el cálculo. Aquí hay un tutorial sobre cómo hacerlo .
Python 2 y python 3 están instalados en Ubuntu por defecto.
fuente
Crear una calculadora de terminal
Ponga lo siguiente en su archivo .bashrc
O ejecútelo en el indicador de comandos de la shell. Ahora "calc" del shell funcionará de la siguiente manera:
Todas las funciones con un "(" o ")" deben estar entre comillas.
fuente