![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| UNIX for Dummies Domande & Risposte Se non sei sicuro dove pubblicare un UNIX o Linux domanda, posta da qui. Tutti i neofiti di Linux e UNIX benvenuto! |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Come dando due condizioni SE ..? | RRVARMA | Shell scripting e di programmazione | 6 | 04-25-2008 09:33 AM |
| o ridurre le condizioni | hitmansilentass | Shell scripting e di programmazione | 8 | 05-03-2007 05:27 PM |
| se in condizioni più / poi | grandtheftander | UNIX for Dummies Domande & Risposte | 4 | 07-21-2006 01:58 PM |
| dichiarazione, se le due condizioni | cin2000 | Shell scripting e di programmazione | 1 | 01-23-2006 03:21 PM |
| dichiarazione, se le due condizioni-e, & & | yongho | Shell scripting e di programmazione | 16 | 06-14-2005 04:46 PM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Due condizioni, se in una dichiarazione
Sono totalmente nuova con bash programmazione e non mi è come mettere due condizioni in una dichiarazione di se. Il mio codice è simile a questa:
Codice:
h=`date +%k` if [ [ $((h>9)) ] && [ $((h<21)) ] ]; then |
|
||||
|
La shell ha un fantastico set di sintassi alternative per Condizionali.
Il [non è un delimitatore tradizionali, ma il nome di un comando. Il modo di utilizzarlo per molteplici espressioni come questa: Codice:
if [ "$h" -gt 9 ] && [ "$h" -lt 21 ]; then ... fi Codice:
if [ "$h" -gt 9 -a "$h" -lt 21 ]; then ... fi Codice:
if [ $((h > 9 && h < 21)) == 1 ]; then ... fi Codice:
if [[ $h > 9 ]] && [[ $h < 21 ]]; then ... fi |
|
||||
|
Oh boy! I think I'm a giovani per questo. I'm from Java generazione, bash sembra essere molto difficile.
Questi due sembrano funzionare. Che è davvero la stessa cosa? Codice:
if [ $h -gt 9 -a $h -lt 21 ]; then Codice:
if [ "$h" -gt 9 ] && [ "$h" -lt 21 ]; then |
|
||||
|
Le virgolette sono soprattutto per la sicurezza (buona abitudine in caso $ h finisce contenente una stringa vuota per errore, per esempio) e, in teoria, i & & variante potrebbe creare processi in cui i due esterni a un creerebbe soltanto uno. (E 'la teoria, perché [è probabilmente gestite internamente in moderni serbatoi, in modo non vi è alcun processo esterni coinvolti).
Gli script di shell non sono analizzati molto, la sintassi è più superficiale rispetto a molti altri linguaggi di scripting e questo crea alcune complicazioni, ma anche contribuisce a rendere il guscio estremamente versatile. La mancanza di standard, built-in aritmetica operatori fin dall'inizio è un'altra fonte di complessità, in questo caso. POSIX i tentativi di risolvere alcune delle questioni, ma storicamente, si sono sviluppate varie shell diverse estensioni che hanno poi creato, per così dire, ancora più modi diversi per la pelle di un gatto. |
![]() |
| Segnalibri |
| Tag |
| se le condizioni dichiarazione |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|