Paano Suriin ang Pag-iral ng Input Argument sa isang Bash Shell Script

Paano Suriin Ang Pag Iral Ng Input Argument Sa Isang Bash Shell Script



Ang Bash shell scripting ay isang makapangyarihang tool para sa pag-automate ng mga paulit-ulit na gawain at pagsasagawa ng mga kumplikadong operasyon sa command line. Isa sa mga pangunahing konsepto sa shell scripting ay ang pagtanggap ng mga input argument mula sa user o mula sa iba pang script. Kapag nakikitungo sa mga input argument, mahalagang suriin kung umiiral ang input argument o hindi upang maiwasan ang hindi inaasahang pag-uugali sa script. Tatalakayin ng artikulong ito ang iba't ibang paraan upang suriin ang pagkakaroon ng mga input argument sa isang script ng Bash shell.

Paano Suriin ang Pag-iral ng Input Argument sa isang Bash Shell Script

Mayroong tatlong magkakaibang paraan:

  1. Gamit ang command na 'test'.
  2. Gamit ang variable na '$#'.
  3. Gamit ang opsyong “-n”.

Paraan 1: Gamit ang 'test' Command

Ang command na 'test', na kilala rin bilang '[' command, ay isang built-in na command sa Bash na sumusubok para sa iba't ibang kundisyon. Ang isa sa mga kundisyon na maaari naming subukan gamit ang 'pagsubok' na utos ay kung mayroong isang variable o wala. Narito ang isang halimbawang code upang suriin kung mayroong isang input na argumento gamit ang command na 'test':







#!/bin/bash

kung [ -Kasama '$1' ]

pagkatapos

echo 'Nawawala ang input argument.'

labasan 1

maging

echo 'Umiiral ang input argument.'

Dito ginagamit ang opsyong '-z' kasama ang command na 'test' upang suriin kung ang input argument ay isang walang laman na string o hindi. Maglalabas ang script ng mensahe ng error at lalabas na may status code na 1 kung ang input argument ay isang walang laman na string. Kung hindi, ang script ay magpapatuloy sa pagpapatupad, sa ibaba ay nagbigay ako at input ng argument para sa code upang ito ay nagpapakita ng mensahe ng pagkakaroon ng input ng argumento:





Paraan 2: Gamit ang Variable na '$#'.

Ang “$#” iniimbak ng variable ang bilang ng mga input argument na ipinasa sa isang script. Kung ang script ay umaasa ng hindi bababa sa isang input argument, maaari naming suriin kung ang “$#” ang variable ay mas malaki kaysa sa zero. Narito ang isang halimbawang code upang suriin kung mayroong kahit isang input argument gamit ang “$#” variable:





#!/bin/bash

kung [ $# -eq 0 ]

pagkatapos

echo 'Nawawala ang input argument.'

labasan 1

maging

echo 'Umiiral ang input argument.'

Dito ang “-eq” operator ay ginagamit upang suriin kung ang “$#” variable ay katumbas ng zero o hindi at kung ang '$#' variable ay katumbas ng zero, ang script ay magpapakita ng mensahe ng error at lalabas na may status code na 1. Kung hindi, ang script ay magpapatuloy sa pagpapatupad, sa ibaba ay ibinigay ko at input argumento para sa code kaya ipinapakita nito ang mensahe ng pagkakaroon ng input ng argumento:



Paraan 3: Gamit ang '-n' na Opsyon

Ang “-n” Ang opsyon ay ginagamit upang suriin kung ang isang variable ay walang laman. Magagamit namin ang opsyong ito para tingnan kung mayroon o wala ang input argument. Sa ibaba ay nagbigay ako ng isang halimbawang code na nagsusuri kung mayroong isang input argumento gamit ang “-n” opsyon:

#!/bin/bash

kung [ -n '$1' ]

pagkatapos

echo 'Umiiral ang input argument.'

iba pa

echo 'Nawawala ang input argument.'

labasan 1

maging

Dito, ang “-n” Ang opsyon ay ginagamit upang suriin kung ang input argument ay hindi walang laman at kung ang input argument ay walang laman, ang script ay magpapakita ng isang tagumpay na mensahe. Kung hindi, ang script ay magpapakita ng mensahe ng error at lalabas na may status code na 1, sa ibaba ay nagbigay ako at input argument para sa code kaya ito ay nagpapakita ng mensahe ng pagkakaroon ng input ng argumento:

Konklusyon

Sa shell scripting, ang pagsuri sa pagkakaroon ng mga input argument ay isang mahalagang hakbang upang matiyak na ang script ay tumatakbo gaya ng inaasahan. Maaari kaming gumamit ng iba't ibang mga diskarte upang suriin ang pagkakaroon ng mga argumento sa pag-input, tulad ng paggamit ng command na 'test', ang variable na '$#', o ang opsyon na '-n'. Sa pamamagitan ng pagpapatupad ng mga diskarteng ito, lumikha kami ng mas matatag at maaasahang mga script ng shell na maaaring humawak ng mga argumento ng input.