Linux declare-Befehl
Der Linux-Befehl declare wird zum Deklarieren von Shell-Variablen verwendet.
declare ist ein Shell-Befehl. In der ersten Syntax kann er verwendet werden, um Variablen zu deklarieren und Variablenattribute festzulegen ([rix] bezieht sich auf die Variablenattribute). In der zweiten Syntax kann er verwendet werden, um Shell-Funktionen anzuzeigen. Wenn keine Parameter hinzugefügt werden, werden alle Shell-Variablen und -Funktionen angezeigt (derselbe Effekt wie beim Ausführen des set-Befehls).
Syntax
declare [+/-][rxi][变量名称=设置值] oder declare -f
Parameterbeschreibung:
- +/- "-" kann verwendet werden, um Variablenattribute festzulegen, während "+" die für die Variable gesetzten Attribute aufhebt.
- -f Zeigt nur Funktionen an.
- r Setzt die Variable auf schreibgeschützt.
- x Die angegebene Variable wird zu einer Umgebungsvariable, die für Programme außerhalb der Shell verfügbar ist.
- i [Festzulegender Wert] kann ein numerischer Wert, eine Zeichenkette oder ein Ausdruck sein.
Beispiele
Deklarieren einer Integer-Variable
Beispiel
# declare -i ab //Deklariere eine Integer-Variable
# ab=56 //Ändere den Variableninhalt
# echo $ab //Zeige den Variableninhalt an
56
# ab=56 //Ändere den Variableninhalt
# echo $ab //Zeige den Variableninhalt an
56
Ändern von Variablenattributen
Beispiel
# declare -i ef //Deklariere eine Integer-Variable
# ef=1 //Variablenzuweisung (Ganzzahlwert)
# echo $ef //Variableninhalt anzeigen
1
# ef="wer" //Variablenzuweisung (Textwert)
# echo $ef
0
# declare +i ef //Variablenattribut aufheben
# ef="wer"
# echo $ef
wer
# ef=1 //Variablenzuweisung (Ganzzahlwert)
# echo $ef //Variableninhalt anzeigen
1
# ef="wer" //Variablenzuweisung (Textwert)
# echo $ef
0
# declare +i ef //Variablenattribut aufheben
# ef="wer"
# echo $ef
wer
Eine Variable auf schreibgeschützt setzen
Beispiel
# declare -r ab //Variable auf schreibgeschützt setzen
# ab=88 //Variableninhalt ändern
-bash: ab: schreibgeschützte Variable
# echo $ab //Zeige den Variableninhalt an
56
# ab=88 //Variableninhalt ändern
-bash: ab: schreibgeschützte Variable
# echo $ab //Zeige den Variableninhalt an
56
Deklarieren einer Array-Variable
Beispiel
# declare -a cd='(
# echo ${cd[1]}
b //Anzeigen des Variableninhalts
# echo ${cd[@]} //Anzeigen des gesamten Inhalts der Array-Variablen
a b c
# echo ${cd[1]}
b //Anzeigen des Variableninhalts
# echo ${cd[@]} //Anzeigen des gesamten Inhalts der Array-Variablen
a b c
Anzeigen von Funktionen
Beispiel
# declare -f
command_not_found_handle ()
{
if [ -x /usr/lib/command-not-found ]; dann
/usr/bin/python /usr/lib/command-not-found -- $1;
return $?;
else
if [ -x /usr/share/command-not-found ]; dann
/usr/bin/python /usr/share/command-not-found -- $1;
return $?;
else
return 127;
fi;
fi
}
command_not_found_handle ()
{
if [ -x /usr/lib/command-not-found ]; dann
/usr/bin/python /usr/lib/command-not-found -- $1;
return $?;
else
if [ -x /usr/share/command-not-found ]; dann
/usr/bin/python /usr/share/command-not-found -- $1;
return $?;
else
return 127;
fi;
fi
}
Linux-Befehlsenzyklopädie