Komenda [
tylko aliasem polecenia test
, zamykający nawias kwadratowy prostu cukier sytax (komenda [
ignoruje ostatni argument, jeśli jest to wspornik zamknięcia), a więc linia faktycznie czyta
if test :$RESULT != :0,0
Porównuje, czy ciąg znaków :$RESULT
jest równy łańcuchowi :0,0
. Dwukropek jest poprzedzony przypadkiem, że zmienna $RESULT
jest pusta. Linia będzie wyglądać następująco, jeśli jelita grubego został pominięty i $RESULT
był pusty ciąg:
if test != 0,0
będzie to prowadzić do błędu, ponieważ test
oczekuje argumentu przed !=
. Alternatywą byłoby użyć cudzysłowów, aby wskazać, że nie jest to argument, który jest pusty ciąg znaków:
if test "$RESULT" != 0,0
# Will become
if test "" != 0,0
Zmiana zostanie zaksięgowana jest bardziej mobilny, choć.
Spróbuj 'man bash' i poszukać wbudowanego polecenia' test' do dalszych informacji – soulmerge
Dobra, podążaj za tym, dzięki! Czy tak naprawdę jest to porównanie z łańcuchem "0,0"?Pytam tylko, ponieważ zmienny wynik nigdy nie miałby tej wartości! Zastanawiam się, czy 0,0 robi coś innego. Może pusty łańcuch? –
Nie, '0,0' jest łańcuchem, a operator'! = 'Porównuje łańcuchy, więc sprawdza, czy' $ WYNIK 'jest łańcuchem '' 0'. Spróbuj "testu man". – soulmerge