Hogyan ellenőrizhető a bemeneti argumentum egy Bash Shell szkriptben
Három különböző módszer létezik:
1. módszer: A „teszt” parancs használata
A „teszt” parancs, más néven „[” parancs, a Bash beépített parancsa, amely különféle feltételeket tesztel. Az egyik feltétel, amelyet a „teszt” paranccsal tesztelhetünk, hogy létezik-e változó vagy sem. Íme egy példakód annak ellenőrzésére, hogy létezik-e bemeneti argumentum a „test” paranccsal:
#!/bin/bash
ha [ -Val vel '$1' ]
akkor
visszhang 'A bemeneti argumentum hiányzik.'
kijárat 1
lenni
visszhang 'Bemeneti argumentum létezik.'
Itt a „-z” opciót a „test” paranccsal együtt használjuk annak ellenőrzésére, hogy a bemeneti argumentum üres karakterlánc-e vagy sem. A szkript hibaüzenetet ad ki, és 1-es állapotkóddal lép ki, ha a bemeneti argumentum üres karakterlánc. Ellenkező esetben a szkript folytatja a végrehajtást, az alábbiakban megadtam és bevittem a kódhoz tartozó argumentumot, így megjeleníti az argumentum bemenetének létezéséről szóló üzenetet:
2. módszer: A „$#” változó használata
A „$#” változó tárolja a szkriptnek átadott bemeneti argumentumok számát. Ha a szkript legalább egy bemeneti argumentumot vár, ellenőrizhetjük, hogy a „$#” változó nagyobb, mint nulla. Íme egy példakód annak ellenőrzésére, hogy létezik-e legalább egy bemeneti argumentum a „$#” változó:
#!/bin/bash
ha [ $# -eq 0 ]
akkor
visszhang 'A bemeneti argumentum hiányzik.'
kijárat 1
lenni
visszhang 'Bemeneti argumentum létezik.'
Itt a '-eq' operátor segítségével ellenőrizhető, hogy a „$#” változó nulla vagy sem, és ha a „$#” változó nulla, a szkript hibaüzenetet jelenít meg, és 1-es állapotkóddal lép ki. Ellenkező esetben a szkript futni fog, az alábbiakban megadtam és beírtam. argumentum a kódhoz, így megjeleníti az argumentum bemenetének létezéséről szóló üzenetet:
3. módszer: Az „-n” opció használata
A '-n' Az opció annak ellenőrzésére szolgál, hogy egy változó nem üres-e. Ezzel az opcióval ellenőrizhetjük, hogy a bemeneti argumentum létezik-e vagy sem. Az alábbiakban egy példakódot adtam meg, amely ellenőrzi, hogy létezik-e bemeneti argumentum a '-n' választási lehetőség:
#!/bin/bashha [ -n '$1' ]
akkor
visszhang 'Bemeneti argumentum létezik.'
más
visszhang 'A bemeneti argumentum hiányzik.'
kijárat 1
lenni
Itt, a '-n' Az opció segítségével ellenőrizheti, hogy a bemeneti argumentum nem üres-e, és ha a bemeneti argumentum nem üres, a szkript sikeres üzenetet jelenít meg. Ellenkező esetben a szkript hibaüzenetet jelenít meg, és 1-es állapotkóddal lép ki, alább megadtam és megadtam a kód argumentumát, így megjeleníti az argumentum bemenetének létezését:
Következtetés
A shell scriptingben a bemeneti argumentumok meglétének ellenőrzése elengedhetetlen lépés annak biztosítására, hogy a szkript a várt módon fusson. Különféle technikákat használhatunk a bemeneti argumentumok meglétének ellenőrzésére, például a „test” paranccsal, a „$#” változóval vagy az „-n” kapcsolóval. Ezen technikák megvalósításával robusztusabb és megbízhatóbb shell szkripteket hozunk létre, amelyek képesek kezelni a bemeneti argumentumokat.