Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Mam taki fragment kodu:
<------> if [ $m1 == "Austria" ] || [ $m1 == "Belgia" ] || [ $m1 == "Czechy" ] || [ $m1 == "Dania" ] || [ $m1 == "Francja" ] || [ $m1 == "Grecja" ] || [ $m1 == "Hiszpania" ] || [ $m1 == "Holandia" ]; then <------><------>if [ "$m1" != "Wielka Brytania" ]; then <------><------> m1c=`echo $m1 | tr -d " "` <------><------>else <------><------> m1c=$m1 <------><------>fi <------><------>miasto="${miasto}$m2 ($m1c)" <------> else <------><------>miasto="${miasto}$m1" <------> fi <------>fi
który wyrzuca mi błędy. Jak się nie trudno domyśleć, pod zmienną $m1 i $m2 pojawiają się naprzemiennie nazwy miast lub krajów. Problem jest, jeśli m1 to np. Wielka Brytania. Wtedy otrzymuję taki błąd:
./extractbyhtmlq.sh: wiersz 61: [: ==: oczekiwano operatora jednoargumentowego
Jak znów dam $mi w nawias tzn: if [ "$m1" == "Austria" ] to w ogóle nie rozpoznaje mi krajów. Co robię nie tak?
Offline
Zamieniłem == na =~ i nadal mam:
wiersz 43: [: =~: oczekiwano operatora dwuargumentowego
jak dam $miasto w "" lub
wiersz 43: [: za dużo argumentów
jak zostawię samo $miasto w przypadku miasta "Bielsko Biała"
Offline
A tak?
if [[ $string == *"My long"* ]]; then
Offline
bakao napisał(-a):
Mam taki fragment kodu:
./extractbyhtmlq.sh: wiersz 61: [: ==: oczekiwano operatora jednoargumentowego
Jak znów dam $mi w nawias tzn: if [ "$m1" == "Austria" ] to w ogóle nie rozpoznaje mi krajów. Co robię nie tak?
Moim zdaniem, potrzebujesz prawdziwych regexów, a nie protezy.
Bash jakoś tam obsługę regexów realizuje, ale lepiej weź Perla lub Pythona.
Czyli prawdziwe języki programowania, a nie interpreter powłoki systemowej.
Tu masz dokumentację perlre:
https://perldoc.perl.org/perlre
Przyjemnej lektury.
Pozdro
:P
Offline
[ "$string" = "string" ] lub [[ "$string" == "string" ]]
Instrukcja CASE zamiast IF? 🙂
Offline