¿Cómo determina el shell si una variable es un número o una cadena?
1. Puede utilizar el comando grep y combinarlo con expresiones regulares. Los números enteros se componen de 10 números [0-9]. que no es un número entero, representado por una expresión regular como [^0-9].
2. El concepto de números es muy amplio, como números positivos, números negativos, fracciones, porcentajes, exponentes, etc. Puede utilizar el comando sed para filtrar símbolos similares como números positivos +, números negativos - y porcentajes.
3. Combinando los dos puntos anteriores, escriba el código de la siguiente manera: while?((1));
do
leer?-p?" entrada?valor :"?var;
si?[[?$var?==?q?||?$var?==?Q?]];entonces
salir;
fi
echo?"$var"?|sed?'s/\.\|-\|+\|%\|\^//g'? |?grep ?[^0-9]?>/dev/null?&&?echo?"$var?is?not?number"?||?echo?"$var?is?number"
hecho;
4. El efecto de ejecución es el siguiente: