Hvordan sjekke eksistensen av inngangsargument i et bash shell -skript

Hvordan sjekke eksistensen av inngangsargument i et bash shell -skript
Bash Shell Scripting er et kraftig verktøy for å automatisere repeterende oppgaver og utføre komplekse operasjoner på kommandolinjen. Et av de grunnleggende konseptene i Shell Scripting er å akseptere inngangsargumenter fra brukeren eller fra andre skript. Når du håndterer inngangsargumenter, er det viktig å sjekke om inngangsargumentet eksisterer eller ikke for å unngå uventet oppførsel i skriptet. Denne artikkelen vil diskutere forskjellige måter å sjekke eksistensen av inngangsargumenter i et bash shell -skript.

Hvordan sjekke eksistensen av inngangsargument i et bash shell -skript

Det er tre forskjellige måter:

  1. Bruke “Test” -kommandoen
  2. Bruker "$#" -variabelen
  3. Bruke alternativet “-n”

Metode 1: Bruke “Test” -kommandoen

Kommandoen “Test”, også kjent som “[[” -kommandoen, er en innebygd kommando i bash som tester for forskjellige forhold. En av forholdene som vi kan teste ved hjelp av “Test” -kommandoen er om en variabel eksisterer eller ikke. Her er en eksempelkode for å sjekke om et inngangsargument eksisterer ved hjelp av “Test” -kommandoen:

#!/bin/bash
hvis [-z "$ 1"]
deretter
ekko "Input -argument mangler.""
Avslutt 1
fi
ekko "Input -argument eksisterer.""

Her brukes "-z" -alternativet med “Test” -kommandoen for å sjekke om inngangsargumentet er en tom streng eller ikke. Skriptet vil sende ut en feilmelding og avslutte med en statuskode på 1 hvis inngangsargumentet er en tom streng. Ellers vil skriptet fortsette å utføre, nedenfor har jeg gitt og inngående argument for koden, slik at det viser meldingen om eksistensen av argumentasjonsinngang:

Metode 2: Bruke variabelen “$#”

De “$#” Variable lagrer antall inngangsargumenter som sendes til et skript. Hvis skriptet forventer minst ett inngangsargument, kan vi sjekke om “$#” Variabel er større enn null. Her er et eksempelkode for å sjekke om minst ett inngangsargument eksisterer ved hjelp av “$#” variabel:

#!/bin/bash
hvis [$# -EQ 0]
deretter
ekko "Input -argument mangler.""
Avslutt 1
fi
ekko "Input -argument eksisterer.""

Her “-EQ” Operatør brukes til å sjekke om “$#” Variabel er lik null eller ikke, og hvis "$#" -variabelen er lik null, vil skriptet vise en feilmelding og avslutte med en statuskode på 1. Ellers vil skriptet fortsette å utføre, nedenfor har jeg gitt og inngående argument for koden, slik at det viser meldingen om eksistensen av argumentasjonsinngang:

Metode 3: Bruke alternativet “-n”

De “-N” Alternativet brukes til å sjekke om en variabel ikke er tom. Vi kan bruke dette alternativet for å sjekke om inngangsargumentet eksisterer eller ikke. Nedenfor har jeg gitt et eksempelkode som sjekker om et inngangsargument eksisterer ved hjelp av “-N” alternativ:

#!/bin/bash
hvis [-n "$ 1"]
deretter
ekko "Input -argument eksisterer.""
ellers
ekko "Input -argument mangler.""
Avslutt 1
fi

Her, The “-N” Alternativet brukes til å sjekke om inngangsargumentet ikke er tomt, og om inngangsargumentet ikke er tomt, vil skriptet vise en suksessmelding. Ellers vil skriptet vise en feilmelding og avslutte med en statuskode på 1, nedenfor har jeg gitt og inngående argument for koden slik at den viser meldingen om eksistens av argumentasjonsinngang:

Konklusjon

I Shell Scripting er det å sjekke eksistensen av inngangsargumenter et viktig skritt for å sikre at skriptet kjører som forventet. Vi kan bruke forskjellige teknikker for å sjekke eksistensen av inngangsargumenter, for eksempel å bruke “Test” -kommandoen, “$#” -variabelen eller “-N” -alternativet. Ved å implementere disse teknikkene lager vi mer robuste og pålitelige skallskript som kan håndtere inngangsargumenter.