[BASH] Hoe te zie of een env. variable bestaat?

Pagina: 1
Acties:

  • arnova
  • Registratie: Augustus 2001
  • Laatst online: 07:40

arnova

weet veel, maar niet alles

Topicstarter
Ik ben een script aan het maken in bash wat met een variable test die 0 of 1 kan zijn maar ik wil ook kunnen detecteren of de variable uberhaupt bestaat want anders geeft:

if [ $test == 1 ] ....

een foutmelding.

Hoe kan ik dit het beste (mooiste) doen?

ESP Controlled PvBoiler https://github.com/arnova/pvboiler


  • richardt
  • Registratie: Mei 2002
  • Laatst online: 08-03-2025
if [ $test ] is true als de variabele $test bestaat (dus ook als deze 0 is)

Dus in jouw geval:
if [ $test ] && [$test = 0]; then echo "exists and 0"; fi

Let erop dat je in bash een string comparison doet door een single '=' te gebruiken.

  • arnova
  • Registratie: Augustus 2001
  • Laatst online: 07:40

arnova

weet veel, maar niet alles

Topicstarter
ik heb het nu anders opgelost:

if [ "$test" == "1" ] ...

ESP Controlled PvBoiler https://github.com/arnova/pvboiler


  • richardt
  • Registratie: Mei 2002
  • Laatst online: 08-03-2025
Dit is inderdaad de oplossing. Goed gevonden! Het maakt blijkbaar niet uit of je een single '=' of een dubbele '=' gebruikt.

Verwijderd

richardt schreef op 02 augustus 2002 @ 09:45:
Let erop dat je in bash een string comparison doet door een single '=' te gebruiken.
...niet noodzakelijk, een '==' mag ook... :)

edit:

grmbl.. laat maar... ben net me bed uit, slaap nog half.. zag de laatste post niet..