Hvordan sjekke eksistensen av inngangsargument i et bash shell -skript
Det er tre forskjellige måter:
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.