Jak sprawdzić, czy zmienna jest ustawiona lub pusta w Bash

Jak sprawdzić, czy zmienna jest ustawiona lub pusta w Bash
Zmienną można zdefiniować lub niezdefiniować. Gdy jakakolwiek zmienna nie jest zadeklarowana ani zadeklarowana, ale żadna wartość nie jest przypisana, zmienna nie jest ustawiona ani niezdefiniowana. Gdy jakakolwiek zmienna jest zadeklarowana i przypisana wartością, wówczas ustawiana jest zmienna. Wiele razy wymaga wiedzieć, że konkretna zmienna jest ustawiona lub nie do celów programowania. Jednym z ważnych celów sprawdzania zmiennej jest ustawiona lub nie, jest sprawdzanie poprawności danych. Bash nie ma wbudowanej funkcji, takiej jak inne standardowe języki programowania, aby sprawdzić, czy zmienna jest ustawiona lub nie. Ale Bash ma funkcję do wykonania tego zadania. Jak sprawdzić, czy zmienna jest ustawiona lub nie w Bash, jest pokazany w tym samouczku.

Składnia:

[[-v zmienna]] lub [[-z zmienna]]]

Opcja „-V” lub „-z” służy do sprawdzenia, czy zmienna jest ustawiona lub unSET. Powyższe wyrażenie logiczne zwróci true, jeśli zmienna jest ustawiona i zwraca false, jeśli zmienna nie jest ustawiona lub pusta.

$ zmienna+ciąg

Zastąpienie parametrów to kolejny sposób sprawdzenia, czy zmienna jest ustawiona lub niezajemna. Jeśli zmienna jest ustawiona, wartość ciągu zwróci inaczej NULL.

Przykład-1: Sprawdź, czy zmienna jest ustawiona lub unset za pomocą opcji „-z”

Utwórz plik bash o nazwie Check_Var1.cii z następującym skryptem. Tutaj pierwszy 'Jeśli' warunek powróci prawdziwie i „Zmienna NUM nie jest ustawiona„Wydrukuje. W następnym oświadczeniu 20 jest przypisywane do zmiennej, $ Num. Drugi warunek „jeśli” zwróci fałsz i ”NUM jest ustawiony i wartość NUM = 20„Wydrukuje.

Check_Var1.cii

#!/bin/bash
#Sprawdź zmienną jest ustawiona lub nie
if [-z $ num]; Następnie
Echo „„ ​​Num ”zmienna nie jest ustawiona”
w przeciwnym razie
Echo „„ ​​„NUM” zmienna jest ustawiona ”
fi
#Zasód wartość
Num = 20
#Sprawdź zmienną jest ustawiona lub nie po przypisaniu wartości
if [-z $ num]; Następnie
Echo „„ ​​Num ”zmienna nie jest ustawiona”
w przeciwnym razie
echo „” NUM jest ustawiony i wartość NUM = $ NUM ”
fi

Uruchom skrypt.

$ bash CheckVar1.cii

Przykład-2: Sprawdź, czy zmienna jest ustawiona lub unSET za pomocą zastępcy parametrów

Utwórz plik bash o nazwie „Check_Var2.cii”I dodaj następujący skrypt. W tym przypadku wartość ciągu jest przypisana do zmiennej, $ str przed sprawdzeniem zmiennej jest ustawiona lub niezajemna. Warunek „jeśli” zwróci prawdziwie, a wiadomość ”Zmienna „Str” jest ustawiona, a wartość jest Hello„Wydrukuje.

Check_Var2.cii

#!/bin/bash
#Załóż zmienną
str = ”Hello”
#Posyp wartość „świat” do CheckVal, jeśli zmienna STR jest ustawiona
CheckVal = $ str+„świat”
#Sprawdź, że zmienna jest ustawiona lub niezajemna
jeśli [$ checkval -eq „świat”]; Następnie
Echo „„ ​​str ”zmienna jest ustawiona, a wartość to $ str”
w przeciwnym razie
Echo „„ ​​str ”zmienna nie jest ustawiona”
fi

Uruchom skrypt.

$ bash CheckVar2.cii

Przykład-3: Sprawdź, czy zmienna jest pusta, czy nie

Utwórz plik bash o nazwie „Check_Var3.cii”I dodaj następujący skrypt. Skrypt będzie przechowywał pierwszy argument wiersza poleceń w zmiennej, $ argv To jest testowane w następnym stwierdzeniu. Wyjście będzie „Pierwszy argument jest pusty„Jeśli nie zostanie przekazany żaden argument, w przeciwnym razie wartość pierwszego argumentu zostanie wydrukowana.

Check_Var3.cii

#!/bin/sh
#Przeczytaj pierwszą wartość argumentu wiersza poleceń
argv = "1 $"
#Sprawdź pierwszą wartość argumentu jest podana lub nie
[-V „$ argv”] && echo „Pierwszy argument jest pusty” ||
Echo „Wartość pierwszego argumentu to $ argv”

Uruchom skrypt bez żadnego argumentu.

$ bash CheckVar3.cii

Uruchom skrypt argumentem.

$ bash CheckVar3.Test SH

Wniosek

Różne sposoby sprawdzania zmiennej są ustawiane lub niepustowe lub puste są pokazane w tym samouczku za pomocą różnych przykładów. Mam nadzieję, że ten samouczek pomoże użytkownikom poznać sposoby testowania każdej zmiennej Bash.