Legen Sie mit Bash unter Linux eine lokale Variable und eine Umgebungsvariable fest
Suchen Sie in Bash nach lokalen oder Umgebungsvariablen für eine Variable namens LOL:
el@server /home/el $ set | grep LOL
el@server /home/el $
el@server /home/el $ env | grep LOL
el@server /home/el $
Sanity Check, keine lokale oder Umgebungsvariable namens LOL.
Legen Sie eine lokale Variable namens LOL in einer lokalen, aber nicht in einer Umgebung fest. So stellen Sie es ein:
el@server /home/el $ LOL="so wow much code"
el@server /home/el $ set | grep LOL
LOL='so wow much code'
el@server /home/el $ env | grep LOL
el@server /home/el $
Die Variable 'LOL' existiert in lokalen Variablen, jedoch nicht in Umgebungsvariablen. LOL verschwindet, wenn Sie das Terminal neu starten, sich abmelden / anmelden oder ausführen exec bash
.
Legen Sie eine lokale Variable fest und löschen Sie dann alle lokalen Variablen in Bash
el@server /home/el $ LOL="so wow much code"
el@server /home/el $ set | grep LOL
LOL='so wow much code'
el@server /home/el $ exec bash
el@server /home/el $ set | grep LOL
el@server /home/el $
Sie können auch nur die eine Variable deaktivieren:
el@server /home/el $ LOL="so wow much code"
el@server /home/el $ set | grep LOL
LOL='so wow much code'
el@server /home/el $ unset LOL
el@server /home/el $ set | grep LOL
el@server /home/el $
Lokale Variable LOL ist weg.
Heraufstufen einer lokalen Variablen zu einer Umgebungsvariablen:
el@server /home/el $ DOGE="such variable"
el@server /home/el $ export DOGE
el@server /home/el $ set | grep DOGE
DOGE='such variable'
el@server /home/el $ env | grep DOGE
DOGE=such variable
Beachten Sie, dass beim Exportieren sowohl eine lokale Variable als auch eine Umgebungsvariable angezeigt wird.
Die oben exportierte Variable DOGE überlebt einen Bash-Reset:
el@server /home/el $ exec bash
el@server /home/el $ env | grep DOGE
DOGE=such variable
el@server /home/el $ set | grep DOGE
DOGE='such variable'
Deaktivieren Sie alle Umgebungsvariablen:
Sie müssen eine Dose Chuck Norris herausziehen, um alle Umgebungsvariablen ohne Abmelden / Anmelden zurückzusetzen:
el@server /home/el $ export CAN="chuck norris"
el@server /home/el $ env | grep CAN
CAN=chuck norris
el@server /home/el $ set | grep CAN
CAN='chuck norris'
el@server /home/el $ env -i bash
el@server /home/el $ set | grep CAN
el@server /home/el $ env | grep CAN
Sie haben eine Umgebungsvariable erstellt und dann das Terminal zurückgesetzt, um sie zu entfernen.
Oder Sie können eine Umgebungsvariable manuell wie folgt festlegen und deaktivieren:
el@server /home/el $ export FOO="bar"
el@server /home/el $ env | grep FOO
FOO=bar
el@server /home/el $ unset FOO
el@server /home/el $ env | grep FOO
el@server /home/el $