bash - pierwsze kroki pocz

Potrzebujesz pomocy z C, C++, perl, python, itp.
Demerzel
Beginner
Posty: 187
Rejestracja: 06 czerwca 2007, 14:44

bash - pierwsze kroki początkującego z if

Post 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?
slawek1979
Posty: 24
Rejestracja: 16 lipca 2007, 22:32
Lokalizacja: Kraków

Post 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
ODPOWIEDZ