Cosa significa = ~ in bash?

Cosa significa = ~ in bash?
Un programma Bash è un semplice documento di testo con una serie di istruzioni. Queste affermazioni combinano istruzioni che avremmo inserito manualmente il prompt dei comandi (inclusi tali LS o CP). Allo stesso modo, qualunque cosa tu possa realizzare con uno script potrebbe anche essere fatto con un prompt dei comandi. Un segno di abbinamento di espressione regolare, l'operatore = ~, viene utilizzato per identificare le espressioni regolari. Perl ha un operatore simile per l'espressione regolare corrispondente, che ha stimolato questo operatore. Facciamo alcuni esempi per vedere il funzionamento di = ~ operatore in Ubuntu 20.04.

Esempio 01:

In primo luogo, dobbiamo accedere dal nostro sistema. Successivamente, sul desktop, premere "Ctrl+Alt+T" per aprire il terminale della console in Ubuntu 20.04. Come modo alternativo, possiamo anche usare il menu "attività" dall'angolo in alto a sinistra del desktop. Tocca "Attività" e la barra di ricerca verrà spuntata. Fai clic su di esso e scrivi "Terminal". L'applicazione del terminale verrà visualizzata. Colpiscilo per aprirlo. Ora il terminale è stato aperto utilizzando uno di entrambi i metodi menzionati come mostrato. Vediamo come funziona l'operatore = ~. Prima di tutto, per scrivere uno script bash, abbiamo bisogno di creare alcuni file bash. Pertanto, abbiamo creato un file "nuovo.sh "con la tipica domanda" touch "della console come sotto.

$ TOUCT NUOVO.sh

È possibile trovare il file bash creato nella cartella domestica di Ubuntu 20.04. Man mano che viene creato il file, aggiungiamo un po 'di script bash. Per questo, dobbiamo aprire questo file all'interno del terminale usando alcuni editor. Quindi, abbiamo utilizzato l'editor GNU Nano per farlo, come mostrato di seguito.

$ nano nuovo.sh

Ora il file viene aperto nell'editor GNU; dobbiamo mettere in esso il codice bash di seguito. Puoi vedere che abbiamo aggiunto l'estensione bash al suo interno. Successivamente, abbiamo inizializzato un "var" variabile con un valore di tipo stringa contenente numeri e alfabeti. Abbiamo messo l'istruzione "if" per verificare la condizione se si incontra o no. Questa condizione verificherà se la variabile "var" contiene i caratteri, i simboli e gli alfabeti menzionati sul lato destro all'interno della clausola. Se il modello contiene alcuni alfabeti e simboli, visualizzerà "abbinato" all'interno del terminale per istruzione Echo; Altrimenti, stampare "non abbinato".

Salva lo script bash di ctrl+s ed esci tramite “ctrl+x@. Eseguiamo il file bash "nuovo.sh "tramite query bash come di seguito. L'output mostra l'output come "abbinato", poiché il pattern variabile corrisponde al set definito di caratteri e alfabeti.

$ bash nuovo.sh

Esempio 02:

Facciamo un esempio più semplice questa volta. Apri lo stesso "nuovo.file sh "per aggiornare il suo contenuto. Quindi, usa di nuovo le istruzioni seguenti nella shell.

$ nano nuovo.sh

Dopo averlo aperto nell'editor GNU, aggiorniamolo con lo script di Bash di seguito. Bash ha avuto un operatore di confronto di abbinamento del modello costruito, simboleggiato da = ~ dalla versione 3 (circa 2004). Molte tecniche di scripting che in precedenza richiedono tutto l'uso di Grep o SED potrebbe essere gestito utilizzando dichiarazioni bash e frasi bash possono persino rendere i tuoi script più semplici da comprendere e gestire. Bash restituisce un 0 quando un argomento come $ var = “[[0-9]]” dimostra che il campo a sinistra soddisfa la frase a destra, o una altrove, tanto quanto gli altri operatori di contrasto (E.G., -lt o ==). Poiché abbiamo dato il valore "6" alla variabile "var", soddisfa la condizione, quindi restituisce 0. Quindi stamperà il messaggio che "6 è un numero". Se la condizione va storta, stamperà "non numero". Abbiamo salvato il file tramite "ctrl+s" e lo abbiamo restituito al terminale tramite il tasto di scelta rapida "ctrl+x".

Una volta eseguito di nuovo il file sul terminale, mostra che "6 è un numero" tramite la seguente query.

$ bash nuovo.sh

Visualizza il messaggio "6 è un numero" perché la variabile "var" soddisfa la condizione all'interno dell'istruzione "if". Aggiorniamo la nostra variabile per vedere di nuovo l'output. Apri il file bash ancora una volta tramite:

$ nano nuovo.sh

Dopo aver aperto il file in un editor, abbiamo aggiornato la variabile e cessato un valore di tipo stringa "G". Questa volta, la condizione non dovrebbe essere soddisfatta e deve produrre la seconda istruzione Echo "non un numero" nel terminale. Salva e chiudi il file di script bash.

All'esecuzione del file bash, abbiamo trovato i risultati previsti. Puoi avere uno sguardo che viene visualizzato il messaggio "non un numero" in cambio della condizione dell'istruzione "if". Abbiamo usato la query dichiarata nella console per vedere l'output.

$ bash nuovo.sh

Esempio 03:

Facciamo un esempio molto più semplice ma un po 'diverso. Apri il file bash "nuovo.Sh ”di nuovo.

$ nano nuovo.sh

Quando non sei sicuro di cosa significhi "espressione regolare", ecco una rapida descrizione. Una sequenza è rappresentata da un'espressione regolare, che è una serie di lettere. In primo luogo, abbiamo visualizzato un messaggio "Immettere qualsiasi cosa" su un utente e quindi leggere l'input che un utente inserisce tramite il terminale. Quindi, abbiamo inserito l'istruzione IF per verificare se il valore di input inserito da un utente abbinato al modello menzionato. Nell'illustrazione seguente, [0-9] si adatta al numero unico, ma [A-Z] si adatta a una certa lettera maiuscola. [A-Z]+ si adatterà a qualsiasi combinazione di maiuscolo. La frase [A-Z]+$, ma dall'altra parte, potrebbe soddisfare una stringa composta interamente da lettere maiuscole.

Al momento dell'esecuzione, l'utente ha inserito, 9. Stampa che "9 è un numero".

Al momento dell'esecuzione, l'utente ha inserito #. Ha mostrato che "# non è numero".

Quando un utente ha inserito "k", visualizza che "k non è numero".

Esempio 04:

Facciamo un esempio complesso per elaborare l'operatore = ~. Apri ancora il file.

$ nano nuovo.sh

Regex in Bash può essere un po 'complicato. Stiamo verificando se il contenuto del campo di email $ sembra quello di un indirizzo e -mail durante il campione sottostante. Vale davvero la pena notare che la prima frase (il nome dell'account) può includere lettere, numeri e simboli speciali. Il simbolo @ appare tra il nome e anche il sito e-mail, nonché un punto letterale (.) visto tra il dominio Web principale e il "com", "net", "gov" e così via. Doppi parentesi sono usate per circondare il contrasto.

Alla prima esecuzione, l'utente ha inserito il modello corretto di e -mail. L'output visualizza l'e -mail con un messaggio di successo secondo cui "l'e -mail è corretta".

In un'altra esecuzione, l'utente ha inserito il modello sbagliato di e -mail. Quindi, l'output dell'email mostra il messaggio di errore che "l'e -mail non sembra corretta".

Conclusione:

In questa guida, abbiamo visto il funzionamento e la funzionalità dell'operatore = ~ all'interno dello script bash e cosa significhi nel bash. Speriamo che questa guida ti abbia aiutato al meglio e non hai riscontrato problemi durante l'aiuto.