Pagina 1 di 1
[RISOLTOBASH] Controllo stringhe con determinati intervalli.
Inviato: mercoledì 25 aprile 2012, 21:47
da f4bry90
Salve di nuovo,
sempre una domanda semplice. Vorrei sapere come faccio a controllare se una stringa sia uguale ad un numero determinato di lettere con una sola condizione.
Esempio:
Codice: Seleziona tutto
var="$1"
if [[ "$var" == "s" -a "$var" == "S" -a ecc. ecc. ]]; then
fai qualcosa
else
fai qualcos'altro
fi
Ecco vorrei raggruppare la condizione dell'if. Grazie mille!
Re: [BASH] Controllo stringhe con determinati intervalli.
Inviato: giovedì 26 aprile 2012, 0:44
da crap0101
vuoi testare se $var appartiene a un certo set?
Chiedo perchè quell'if mi lascia un pò perplesso.
Re: [BASH] Controllo stringhe con determinati intervalli.
Inviato: giovedì 26 aprile 2012, 1:18
da f4bry90
Scusa ho sbagliato le condizioni, comunque ne sono due di condizioni:
1.
Codice: Seleziona tutto
while [[ "$1" != "s" -a "$1" != "S" -a "$1" != "n" -a "$1" != "N" ]]; do
qualcosa
done
2.
Codice: Seleziona tutto
if [[ "$1" == "s" -o "$1" == "S" ]]; then
qualcosa
fi
grazie.
Re: [BASH] Controllo stringhe con determinati intervalli.
Inviato: giovedì 26 aprile 2012, 21:30
da crap0101
tipo così?
Codice: Seleziona tutto
crap0101@crap0101-M:~$ var=s
crap0101@crap0101-M:~$ [[ $var =~ ^[sSrRtT]$ ]] && echo ok
ok
Re: [BASH] Controllo stringhe con determinati intervalli.
Inviato: venerdì 27 aprile 2012, 20:16
da f4bry90
Si, il codice che mi hai dato tu funziona grazie! Puoi spiegarmi come funzionano quei simboli?
Re: [BASH] Controllo stringhe con determinati intervalli.
Inviato: venerdì 27 aprile 2012, 22:44
da crap0101
in sintesi,
serve per fare confronti usando espressioni regolari, quindi
ti dice se la regex matcha VAR.
Re: [BASH] Controllo stringhe con determinati intervalli.
Inviato: venerdì 27 aprile 2012, 23:50
da f4bry90
Ok, ho capito. Invece riguardo:
?
Re: [BASH] Controllo stringhe con determinati intervalli.
Inviato: sabato 28 aprile 2012, 2:20
da crap0101
quella è la regex, matcha una stringa monocarattere tra quelli compresi nelle parentesi quadre. Ci sono varie notazioni, se non hai idea di cosa si tratta inizia da qua:
http://it.wikipedia.org/wiki/Espressione_regolare
e in particolare per bash:
http://tldp.org/LDP/abs/html/x17000.html
Re: [BASH] Controllo stringhe con determinati intervalli.
Inviato: sabato 28 aprile 2012, 11:16
da f4bry90
Grazie mille!