In molti linguaggi di programmazione, tra cui bash, espressioni regolari note come regex, sono uno strumento efficace per la corrispondenza dei motivi e l'elaborazione del testo. L'istruzione IF è una struttura di controllo comune utilizzata negli script bash per eseguire determinati comandi in base a determinate condizioni. In Bash, è possibile utilizzare Regex per abbinare i modelli nelle istruzioni IF per controllare l'esecuzione dello script e questa guida è tutta una questione di abbinamento Regex in un'istruzione BASH IF.
Regex corrispondente in un'istruzione Bash If
La sintassi per l'utilizzo di Regex in un'istruzione If Bash è semplice in quanto è possibile utilizzare l'operatore = ~ per abbinare una stringa contro un modello di espressione regolare, ecco un esempio:
#!/Bin/Bash
Se [["Hello Linux" = ~ ^ciao.*]]; Poi
Echo "Match trovata!"
altro
echo "nessuna partita trovata."
fi
L'istruzione if controlla se la stringa "ciao linux" corrisponde al modello di espressione regolare "^ciao.*". Il simbolo di caret (^) nel motivo indica l'inizio della stringa e il punto-star (. ) corrisponde a qualsiasi carattere zero o più volte.
Se viene trovata la corrispondenza, lo script eseguirà i comandi nel blocco quindi. In questo caso, lo script stamperà “Match trovata!"Alla console. Se non c'è corrispondenza, lo script eseguirà i comandi nel blocco else, che stamperanno “Nessuna corrispondenza trovata."Alla console:
Puoi anche usare Regex per abbinare le variabili in uno script bash, ecco un esempio:
#!/Bin/Bash
STR = "Hello Linux"
Se [[$ str = ~ ^ciao.*]]; Poi
Echo "Match trovata!"
altro
echo "nessuna partita trovata."
fi
Qui l'istruzione IF controlla se la variabile "STR" corrisponde al modello di espressione regolare "^ciao.*". La variabile è racchiusa in doppie citazioni per prevenire la scissione delle parole e l'espansione del nome file:
Conclusione
Un'istruzione If Bash con corrispondenza regex è uno strumento efficace per l'elaborazione del testo e la corrispondenza del modello negli script bash. Può essere usato per limitare il modo in cui i tuoi script vengono eseguiti in base a criteri particolari. Padroneggiando la corrispondenza di Regex in Bash, puoi scrivere script più efficienti ed efficaci che automatizzano il flusso di lavoro e risparmiano tempo e sforzi.