Strona 1 z 1

bash - pierwsze kroki początkującego z if

: 19 sierpnia 2007, 12:05
autor: Demerzel

Kod: Zaznacz cały

#!/bin/bash
S1='string'
S2='Stringn'
if [ "$S1"="$S2" ]
then
        echo "S1('$S1') is not equal to S2('$S2')"
fi
if [ $S1=$S1 ];
then
        echo "S1('$S1') is equal to S1('$S1')"
fi
Jest to kod z kursu bash. Nie rozumiem dlaczego pomimo różnicy między ciągami pierwszy warunek jest wykonywany. Jakbym zrobił coś analogicznego w C++ przeskoczyłby pierwszego if-a. Próbowałem z dwoma znakami == z -eq. Nie wiem o co tu chodzi?

: 19 sierpnia 2007, 15:49
autor: slawek1979
Zobacz to:

Kod: Zaznacz cały

 #!/bin/bash
#==========================================

# condition and string comparison

#==========================================

S1='name'
S2='Name'
if [ $S1 == $S2 ];    # NOTE [with spaces] 

then
   echo "$S1 == $S2";
else

   echo "$S1 != $S2 ";

fi
Przykład pochodzi z http://tiger.la.asu.edu/bash_tutorial.htm
Sławek