Wie um zu testen, ob eine variable vorhanden ist und initialisiert wurde

Ich muss eine Funktion ausführen, die testen, ob eine variable ist korrekt definiert, in der bash und müssen mit den zugehörigen Wert.

Zum Beispiel, werden diese Variablen initialisiert am Anfang des Skripts.

#!/bin/bash

var1_ID=0x04
var2_ID=0x05
var3_ID=0x06
var4_ID=0x09

Ich würde gerne rufen Sie das Skript mit dem Namen test wie folgt:

./test var1

Sind die derzeit implementierten Funktion:

function Get()
{
     if [ $1"_ID" != "" ]; then 
         echo "here"
         echo $(($1_ID))
     else 
         exit 0 
     fi
}

Ich verstehe nicht, warum ich erhalten here auch wenn ich geben Sie ./test toto oder etwas anderes.

Brauche ich einen bestimmten Befehl, wie grep?

Verwandte: Wie um zu testen, ob eine variable definiert ist, überhaupt in Bash-Versionen vor version 4.2 mit der nounset shell-option?
Es scheint, hat niemand angegeben, aber $1"_ID" bewerten zu "_ID" wenn $1 existiert nicht. Und daher wird IMMER != to ""

InformationsquelleAutor ogs | 2014-11-24

Schreibe einen Kommentar