Aquest tutorial us mostrarà com utilitzar sentències condicionals per comprovar si una variable està buida i després realitzar una acció després del fet. Aquestes accions poden incloure un bucle de blocs de codi fins que la variable no estigui buida, sortiu o simplement aviseu a l'usuari que la variable està buida.
Abans de començar, serà útil si esteu familiaritzat amb els scripts bàsics de Bash.
Bash Basic: variables 101
Les variables són components bàsics de qualsevol llenguatge de programació real i Bash utilitza variables. Les variables són contenidors de dades que s’utilitzen per emmagatzemar valors per utilitzar-los en seccions posteriors del programa.
Per crear una variable simple a Bash, fem servir el nom de la variable.
Per exemple:
#! / bin / bash$ i_am
Un cop tingueu la variable inicialitzada, podeu assignar-li el valor mitjançant un signe igual com:
#! / bin / bash
jo sóc= ubuntu
Un cop s'hagi declarat i assignat, podeu trucar-hi simplement fent-ne referència pel seu nom:
#! / bin / bashtrobo $ i_am
Això retornarà el valor emmagatzemat a la variable, tal com es mostra a la captura de pantalla següent.
NOTA: Si es fa referència a una variable tant entre cometes simples com cometes dobles, es poden obtenir resultats diferents. Una variable dins de cometes simples es convertirà en una cadena literal, mentre que en una cometa doble, obtindrà el tractament d’un nom de variable.
Aquí teniu un exemple:
Ara que tenim els conceptes bàsics de les variables a Bash, podem procedir als condicionants i comprovar si hi ha una variable buida.
Per obtenir una guia detallada sobre com crear variables bash, tingueu en compte el recurs següent:
https://linuxhint.com/variables_bash/
Conceptes bàsics de Bash: declaracions de If
Si les declaracions són un altre bloc de programació fonamental i Bash seria un paralitzant sense elles. Ens permeten realitzar una acció si una condició és certa o falsa.
Anem a fer un resum resum de com utilitzar Bash if, if ... else i if ... elif ... else
El si S tatement
La sintaxi general per utilitzar una sentència if a Bash és la següent:
#! / bin / bashsi {condició}
llavors
fer
ser
Comencem una sentència if trucant a la paraula clau if. A continuació, especifiquem la condició a comprovar. La condició pot ser una expressió simple o complexa sempre que es valori com a veritable o falsa.
A continuació, establim la paraula clau que especifica el bloc de codi per executar-se si la condició es valora com a veritable.
Finalment, tanquem la sentència if mitjançant la paraula clau fi.
Si ... sinó afirmacions
Una sentència bash if ... else especifica una acció addicional si la condició es valora com a falsa. La sintaxi general és:
#! / bin / bashsi {condició}
llavors
fer
en cas contrari
fer
ser
Un cas d’ús d’exemple
Permeteu-me utilitzar un exemple senzill per il·lustrar l’ús de les afirmacions if.
La sentència if és la que es mostra a continuació:
#! / bin / bashen un=1
si [[ $ num -gt5 ]]
llavors
trobo '$ numés superior a 5 '
en cas contrari
trobo '$ numés inferior a 5 '
ser
La sortida és la següent:
Com que ara tenim els conceptes bàsics de si es resolen les declaracions, continuem amb aquest tutorial.
Comproveu si els extractes que es detallen a continuació:
https://linuxhint.com/bash_conditional_statement/
Com es pot comprovar si la variable és buida
Una manera popular i senzilla de comprovar si una variable està buida és fer servir l’opció -z a la sentència de condició.
El valor -z $ var retorna cert si una variable és buida i fals si no.
La sintaxi general per a aquesta prova és:
#! / bin / bashsi [[ -Amb $ var ]]
llavors
fer
en cas contrari
fer
ser
Script d’exemple
Il·lustrem un script senzill que emula l'ordre cd i navega pel directori especificat.
Penseu en el guió següent:
#! / bin / bashtrobo 'Introduïu el camí per accedir a:'
llegir_Camí
mentre [[ -Amb $ _path ]];fer
trobo 'Proporcioneu un camí'
fet
trobo 'Navegant cap a$ _path'
cd $ _path
Un cop executem la consulta anterior, obtenim la sortida tal com es mostra a continuació.
El guió comença demanant a l'usuari que introdueixi el directori on navegar. A continuació, comprova si la variable està buida. Si està buit, demana recursivament a l'usuari un camí fins que la variable no estigui buida.
Un cop el camí està disponible, navega fins al directori establert i imprimeix l'estat.
Conclusió
Aquest breu tutorial us va mostrar com comprovar si una variable està buida mitjançant el senyalador -z. Es comprova si la longitud de la variable és 0 i si és 0, la variable està buida. Això pot ser molt potent quan necessiteu que el valor d'una variable sigui cert abans de continuar.
També podeu combinar la sentència anterior amb altres expressions per crear una eina complexa si la variable està buida o no.
Gràcies, i feliç temps de scripting !!