Estoy tratando de agregar 1 número desde la línea de comando y un número como predeterminado. Por ejemplo: cuando el usuario escribe el número 50, el script agregará 10 (como el número predeterminado).
./script 50
The sum of 50+ 10 is 60.
Esto es lo que tengo hasta ahora.
echo -n "Please enter a number: "
read number
default = 10
sum = $((default + number)) // this line does not seem to work
echo "The sum of $number and 10 is $sum."
¿Tengo la sintaxis incorrecta? No estoy seguro si estoy en el camino correcto. ¿Estoy agregando los números incorrectamente? ¿Debo usar awk en su lugar?
let sum = $default + $number
echo
ing y luego el uso deread
directamente, puede escribir:read -p 'Please enter a number: ' yournumber
Respuestas:
Los espacios están causando los errores.
Si desea que el usuario ingrese el número cuando se le solicite "Ingrese un número:", puede usar su script con algunas correcciones como:
Cheque:
Si desea que el usuario ingrese el número como argumento para el guión, puede usar el guión a continuación:
Cheque:
fuente
No debe tener espacios entre "default = 10" y "sum = $", también default & number debe tener $ antes de ellos para leer de las variables.
El script entonces funciona como se esperaba para mí, cuando está escrito como a continuación;
fuente
$
interior de la expresión aritmética. Por ejemplo, intente esto:num=5;def=10;echo "sum = $((num + def))"
Esta es la forma más rápida de hacer lo que está pidiendo:
Salida:
fuente
./script.sh '((PATH=0)+(ANY_OTHER_VARNAME=[ANY INTEGER]))'