El comando [
es sólo un alias del comando test
, el corchete de cierre sólo estar azúcar sytax (el comando [
ignora el último argumento si es un paréntesis de cierre), por lo que la línea realmente lee
if test :$RESULT != :0,0
Compara si la cadena :$RESULT
es igual a la cadena :0,0
. El dos puntos se antepone para el caso en que la variable $RESULT
esté vacía. La línea se vería como la siguiente si el colon se omitió y $RESULT
era una cadena vacía:
if test != 0,0
Esto llevaría a un error, ya que espera un argumento de test
antes !=
. Una alternativa sería utilizar comillas para indicar que hay un argumento, que es una cadena vacía:
if test "$RESULT" != 0,0
# Will become
if test "" != 0,0
La variación informados es más portátil, sin embargo.
Pruebe 'hombre bash' y la búsqueda de la orden interna' test' para más información – soulmerge
Vale, sigue eso, gracias! ¿En realidad se está comparando con la cadena "0,0"?Solo pregunto porque el resultado de la variable nunca tendrá ese valor. Me pregunté si el 0,0 hace algo más. ¿Una cuerda en blanco tal vez? –
No, '0,0' es una cadena y el operador'! = 'Compara cadenas, por lo que comprueba si' $ RESULT' es la cadena '0,0'. Prueba 'hombre prueba '. – soulmerge