Il comando [
è solo un alias del comando test
, la parentesi quadra di chiusura solo di essere zucchero sytax (il comando [
ignora l'ultimo argomento se si tratta di una parentesi di chiusura), quindi la linea in realtà si legge
if test :$RESULT != :0,0
Confronta se la stringa :$RESULT
corrisponde alla stringa :0,0
. Il colon è preposto per il caso che la variabile $RESULT
sia vuota. La linea sarà simile alla seguente, se il colon è stato omesso e $RESULT
era una stringa vuota:
if test != 0,0
Questo porterebbe ad un errore, dal momento che test
si aspetta un argomento prima di !=
. Un'alternativa sarebbe quella di utilizzare le virgolette per indicare che v'è un argomento, che è una stringa vuota:
if test "$RESULT" != 0,0
# Will become
if test "" != 0,0
La variazione che hai postato è più portabile, però.
Prova 'man bash' e cercare il comando incorporato' test' per ulteriori informazioni – soulmerge
Va bene, seguilo, grazie! Quindi è in realtà il confronto con la stringa "0,0"?Chiedo solo come risultato variabile non avrebbe mai quel valore! Mi chiedevo se lo 0,0 fa qualcos'altro. Forse una stringa vuota? –
No, '0,0' è una stringa e l'operatore'! = 'Confronta le stringhe, quindi controlla se' $ RESULT' è la stringa '0,0'. Prova "test uomo". – soulmerge