Com comprovar l'existència d'un argument d'entrada en un script Bash Shell

Com Comprovar L Existencia D Un Argument D Entrada En Un Script Bash Shell



Bash shell scripting és una eina poderosa per automatitzar tasques repetitives i realitzar operacions complexes a la línia d'ordres. Un dels conceptes fonamentals en els scripts de shell és acceptar arguments d'entrada de l'usuari o d'altres scripts. Quan es tracta d'arguments d'entrada, és essencial comprovar si l'argument d'entrada existeix o no per evitar un comportament inesperat a l'script. Aquest article tractarà diferents maneres de comprovar l'existència d'arguments d'entrada en un script d'intèrpret d'ordres Bash.

Com comprovar l'existència d'un argument d'entrada en un script Bash Shell

Hi ha tres maneres diferents:

  1. Utilitzant l'ordre 'prova'.
  2. Utilitzant la variable '$#'.
  3. Utilitzant l'opció '-n'.

Mètode 1: utilitzant l'ordre 'prova'.

L'ordre 'prova', també coneguda com l'ordre '[', és una ordre integrada a Bash que prova diverses condicions. Una de les condicions que podem provar amb l'ordre 'prova' és si una variable existeix o no. Aquí teniu un exemple de codi per comprovar si existeix un argument d'entrada mitjançant l'ordre 'prova':







#!/bin/bash

si [ -Amb '$1' ]

aleshores

eco 'Falta l'argument d'entrada'.

sortida 1

ser

eco 'L'argument d'entrada existeix'.

Aquí s'utilitza l'opció '-z' amb l'ordre 'prova' per comprovar si l'argument d'entrada és una cadena buida o no. L'script mostrarà un missatge d'error i sortirà amb un codi d'estat 1 si l'argument d'entrada és una cadena buida. En cas contrari, l'script continuarà executant-se, a continuació he proporcionat un argument d'entrada per al codi perquè mostri el missatge d'existència de l'entrada de l'argument:





Mètode 2: Ús de la variable '$#'.

El “$#” La variable emmagatzema el nombre d'arguments d'entrada passats a un script. Si l'script espera almenys un argument d'entrada, podem comprovar si el “$#” variable és major que zero. Aquí hi ha un exemple de codi per comprovar si existeix almenys un argument d'entrada utilitzant el “$#” variable:





#!/bin/bash

si [ $# -eq 0 ]

aleshores

eco 'Falta l'argument d'entrada'.

sortida 1

ser

eco 'L'argument d'entrada existeix'.

Aquí el '-eq' s'utilitza l'operador per comprovar si el “$#” La variable és igual a zero o no i si la variable '$#' és igual a zero, l'script mostrarà un missatge d'error i sortirà amb un codi d'estat 1. En cas contrari, l'script continuarà executant-se, a continuació he proporcionat i introduït argument per al codi perquè mostri el missatge d'existència de l'entrada de l'argument:



Mètode 3: utilitzant l'opció '-n'.

El '-n' s'utilitza per comprovar si una variable no està buida. Podem utilitzar aquesta opció per comprovar si l'argument d'entrada existeix o no. A continuació, he donat un exemple de codi que verifica si existeix un argument d'entrada utilitzant el '-n' opció:

#!/bin/bash

si [ -n '$1' ]

aleshores

eco 'L'argument d'entrada existeix'.

altra cosa

eco 'Falta l'argument d'entrada'.

sortida 1

ser

Aquí, el '-n' s'utilitza per comprovar si l'argument d'entrada no està buit i si l'argument d'entrada no està buit, l'script mostrarà un missatge d'èxit. En cas contrari, l'script mostrarà un missatge d'error i sortirà amb un codi d'estat de 1, a continuació he proporcionat i introdueix l'argument del codi perquè mostri el missatge d'existència de l'entrada de l'argument:

Conclusió

En els scripts d'intèrpret d'ordres, comprovar l'existència d'arguments d'entrada és un pas essencial per garantir que l'script s'executa com s'esperava. Podem utilitzar diferents tècniques per comprovar l'existència d'arguments d'entrada, com ara utilitzar l'ordre “test”, la variable “$#” o l'opció “-n”. Amb la implementació d'aquestes tècniques, creem scripts d'intèrpret d'ordres més robusts i fiables que poden gestionar arguments d'entrada.