Hoe het bestaan van invoerargumenten in een Bash Shell-script te controleren
Er zijn drie verschillende manieren:
Methode 1: de opdracht 'test' gebruiken
Het 'test' -commando, ook wel bekend als het '[' -commando, is een ingebouwd commando in Bash dat test op verschillende voorwaarden. Een van de voorwaarden die we kunnen testen met de opdracht 'test' is of een variabele bestaat of niet. Hier is een voorbeeldcode om te controleren of er een invoerargument bestaat met behulp van de opdracht 'test':
#!/bin/bash
als [ -Met '$1' ]
Dan
echo 'Invoerargument ontbreekt.'
Uitgang 1
zijn
echo 'Invoerargument bestaat.'
Hier wordt de optie '-z' gebruikt met de opdracht 'test' om te controleren of het invoerargument een lege string is of niet. Het script geeft een foutmelding en sluit af met een statuscode van 1 als het invoerargument een lege tekenreeks is. Anders zal het script doorgaan met uitvoeren, hieronder heb ik een argument voor de code opgegeven en ingevoerd, zodat het bericht van het bestaan van de invoer van het argument wordt weergegeven:
Methode 2: de variabele '$#' gebruiken
De '$#' variabele slaat het aantal invoerargumenten op dat aan een script is doorgegeven. Als het script ten minste één invoerargument verwacht, kunnen we controleren of het '$#' variabele is groter dan nul. Hier is een voorbeeldcode om te controleren of er ten minste één invoerargument bestaat met behulp van de '$#' variabele:
#!/bin/bash
als [ $# -eq 0 ]
Dan
echo 'Invoerargument ontbreekt.'
Uitgang 1
zijn
echo 'Invoerargument bestaat.'
Hier de '-eq' operator wordt gebruikt om te controleren of de '$#' variabele gelijk is aan nul of niet en als de variabele '$#' gelijk is aan nul, zal het script een foutmelding weergeven en afsluiten met een statuscode van 1. Anders zal het script doorgaan met uitvoeren, hieronder heb ik opgegeven en ingevoerd argument voor de code, zodat het bericht van bestaan van invoer van argument wordt weergegeven:
Methode 3: de optie '-n' gebruiken
De '-N' optie wordt gebruikt om te controleren of een variabele niet leeg is. We kunnen deze optie gebruiken om te controleren of het invoerargument bestaat of niet. Hieronder heb ik een voorbeeldcode gegeven die controleert of er een invoerargument bestaat met behulp van de '-N' keuze:
#!/bin/bashals [ -N '$1' ]
Dan
echo 'Invoerargument bestaat.'
anders
echo 'Invoerargument ontbreekt.'
Uitgang 1
zijn
Hier de '-N' optie wordt gebruikt om te controleren of het invoerargument niet leeg is en of het invoerargument niet leeg is, het script zal een succesbericht weergeven. Anders geeft het script een foutmelding weer en sluit het af met een statuscode van 1, hieronder heb ik een argument voor de code opgegeven en ingevoerd, zodat het bericht van het bestaan van de invoer van het argument wordt weergegeven:
Conclusie
Bij shell-scripting is het controleren van het bestaan van invoerargumenten een essentiële stap om ervoor te zorgen dat het script werkt zoals verwacht. We kunnen verschillende technieken gebruiken om het bestaan van invoerargumenten te controleren, zoals het gebruik van de opdracht 'test', de variabele '$#' of de optie '-n'. Door deze technieken te implementeren, creëren we robuustere en betrouwbaardere shellscripts die invoerargumenten aankunnen.