Hogyan ellenőrizhető a bemeneti argumentum egy Bash Shell szkriptben

Hogyan Ellenorizheto A Bemeneti Argumentum Egy Bash Shell Szkriptben



A Bash shell scripting egy hatékony eszköz az ismétlődő feladatok automatizálására és összetett műveletek végrehajtására a parancssorban. A shell scripting egyik alapvető fogalma a bemeneti argumentumok elfogadása a felhasználótól vagy más szkriptektől. A bemeneti argumentumok kezelésekor elengedhetetlen annak ellenőrzése, hogy a bemeneti argumentum létezik-e vagy sem, hogy elkerüljük a váratlan viselkedést a szkriptben. Ez a cikk a Bash shell-szkriptekben a bemeneti argumentumok meglétének ellenőrzésének különböző módjait tárgyalja.

Hogyan ellenőrizhető a bemeneti argumentum egy Bash Shell szkriptben

Három különböző módszer létezik:

  1. A „teszt” parancs használatával
  2. A „$#” változó használatával
  3. Az „-n” opció használatával

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/bash

ha [ -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.