Android

Declarație de caz Bash

tr - Transform, Replace and Remove specific characters from strings | #10 Practical Bash

tr - Transform, Replace and Remove specific characters from strings | #10 Practical Bash

Cuprins:

Anonim

Declarațiile de caz Bash sunt utilizate în general pentru a simplifica condiționările complexe atunci când aveți mai multe opțiuni diferite. Utilizarea instrucțiunii de caz în loc de cuibărit dacă instrucțiunile vă vor ajuta să faceți scripturile bash mai lizibile și mai ușor de întreținut.

Declarația de caz Bash are un concept similar cu javascript sau declarația C switch. Principala diferență este că, spre deosebire de declarația C switch, instrucțiunea de caz Bash nu continuă să caute o potrivire a modelului după ce a găsit una și a executat instrucțiuni asociate cu acel tipar.

În acest tutorial, vom acoperi elementele de bază ale declarațiilor cazului Bash și vă vom arăta cum să le utilizați în scripturile dvs. shell.

Sintaxa de declarație a cazului

Declarația de caz Bash are următoarea formă:

case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac

  • Fiecare declarație de caz începe cu cuvântul cheie de case urmat de expresia cazului și de cuvântul cheie. Instrucțiunea se încheie cu cuvântul cheie esac . Puteți utiliza mai multe modele separate de | operator. Operatorul ) încheie o listă de modele. Un model poate avea caractere speciale. Un model și comenzile asociate sunt cunoscute sub numele de clauză. Fiecare clauză trebuie încheiată cu ;; . Comenzile corespunzătoare primului model care se potrivește cu expresia sunt executate. Este o practică obișnuită să utilizați simbolul asteriscului wildcard ( * ) ca model final pentru a defini cazul implicit. Acest model se va potrivi întotdeauna. Dacă niciun model nu se potrivește, starea de returnare este zero. În caz contrar, starea de returnare este starea de ieșire a comenzilor executate.

Exemplu de declarație de caz

Iată un exemplu folosind declarația de caz într-un script bash care va tipări limba oficială a unei țări date:

languages.sh

#!/bin/bash echo -n "Enter the name of a country: " read COUNTRY echo -n "The official language of $COUNTRY is " case $COUNTRY in Lithuania) echo -n "Lithuanian";; Romania | Moldova) echo -n "Romanian";; Italy | "San Marino" | Switzerland | "Vatican City") echo -n "Italian";; *) echo -n "unknown";; esac

Salvați scriptul personalizat ca fișier și executați-l de pe linia de comandă.

bash languages.sh

Scriptul vă va cere să intrați într-o țară. De exemplu, dacă tastați „Lituania” se va potrivi cu primul model și comanda echo din clauza respectivă va fi executată.

Scriptul va tipări următoarea ieșire:

Enter the name of a country: Lithuania The official language of Lithuania is Lithuanian

Enter the name of a country: Argentina The official language of Argentina is unknown

Concluzie

Până acum, ar trebui să înțelegeți cum să scrieți declarații de caz. Acestea sunt adesea folosite pentru a trece parametrii la un script shell de la linia de comandă. De exemplu, scripturile init folosesc instrucțiuni de caz pentru pornirea, oprirea sau repornirea serviciilor.

terminalul bash