Kuidas kontrollida sisendargumendi olemasolu Bash Shelli skriptis

Kuidas Kontrollida Sisendargumendi Olemasolu Bash Shelli Skriptis



Bash shelliskriptimine on võimas tööriist korduvate toimingute automatiseerimiseks ja keerukate toimingute tegemiseks käsureal. Shelliskriptimise üks põhimõisteid on sisendargumentide vastuvõtmine kasutajalt või teistelt skriptidelt. Sisendargumentidega tegelemisel on oluline kontrollida, kas sisendargument on olemas või mitte, et vältida ootamatut käitumist skriptis. Selles artiklis käsitletakse erinevaid viise sisendargumentide olemasolu kontrollimiseks Bashi kestaskriptis.

Kuidas kontrollida sisendargumendi olemasolu Bash Shelli skriptis

On kolm erinevat viisi:

  1. Kasutades käsku 'test'.
  2. Kasutades muutujat '$#'.
  3. Kasutades valikut '-n'.

1. meetod: käsu 'test' kasutamine

Käsk 'test', tuntud ka kui '[' käsk, on Bashi sisseehitatud käsk, mis testib erinevaid tingimusi. Üks tingimus, mida saame käsuga 'test' testida, on muutuja olemasolu või mitte. Siin on näidiskood, et kontrollida, kas sisendargument on olemas, kasutades käsku 'test':







#!/bin/bash

kui [ - Koos '$1' ]

siis

kaja 'Sisestusargument puudub.'

väljuda 1

olla

kaja 'Sisendargument on olemas.'

Siin kasutatakse suvandit '-z' koos käsuga 'test', et kontrollida, kas sisendargumendiks on tühi string või mitte. Skript väljastab veateate ja väljub olekukoodiga 1, kui sisendargumendiks on tühi string. Vastasel juhul jätkab skript täitmist, allpool olen esitanud ja sisestanud koodi argumendi, nii et see kuvab teate argumendi sisendi olemasolust:





2. meetod: muutuja „$#” kasutamine

The '$#' muutuja salvestab skriptile edastatud sisendargumentide arvu. Kui skript eeldab vähemalt ühte sisendargumenti, saame kontrollida, kas '$#' muutuja on suurem kui null. Siin on näide koodist, mille abil saate kontrollida, kas vähemalt üks sisendargument on olemas '$#' muutuja:





#!/bin/bash

kui [ $# -ekv 0 ]

siis

kaja 'Sisestusargument puudub.'

väljuda 1

olla

kaja 'Sisendargument on olemas.'

Siin on '-ekv' operaatorit kasutatakse selleks, et kontrollida, kas '$#' muutuja on võrdne nulliga või mitte ja kui muutuja '$#' on võrdne nulliga, kuvab skript veateate ja väljub olekukoodiga 1. Vastasel juhul jätkab skripti täitmist, allpool olen esitanud ja sisestanud koodi argument, nii et see kuvab teate argumendi sisendi olemasolust:



3. meetod: suvandi '-n' kasutamine

The '-n' valikut kasutatakse selleks, et kontrollida, kas muutuja pole tühi. Selle valiku abil saame kontrollida, kas sisendargument on olemas või mitte. Allpool olen andnud näitekoodi, mis kontrollib, kas sisendargument on olemas, kasutades '-n' valik:

#!/bin/bash

kui [ -n '$1' ]

siis

kaja 'Sisendargument on olemas.'

muidu

kaja 'Sisestusargument puudub.'

väljuda 1

olla

Siin, '-n' suvandit kasutatakse kontrollimaks, kas sisendargument pole tühi ja kui sisendargument pole tühi, kuvab skript eduteate. Vastasel juhul kuvab skript veateate ja väljub olekukoodiga 1, allpool olen koodi jaoks esitanud ja sisestanud argumendi, nii et see kuvab teate argumendi sisendi olemasolust:

Järeldus

Shelliskriptimisel on sisendargumentide olemasolu kontrollimine oluline samm tagamaks, et skript töötab ootuspäraselt. Sisendargumentide olemasolu kontrollimiseks saame kasutada erinevaid tehnikaid, näiteks kasutada käsku 'test', muutujat '$#' või suvandit '-n'. Neid tehnikaid rakendades loome tugevamad ja usaldusväärsemad shelliskriptid, mis saavad hakkama sisendargumentidega.