Vor der Installation von gnuplot habe ich die Umgebungsvariable festgelegt GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src
. Während der Installation ist ein Fehler aufgetreten.
Ich möchte die GNUPLOT_DRIVER_DIR
Umgebungsvariable entfernen . Wie kann ich das erreichen?
Antworten:
unset
ist der Befehl, den Sie suchen.quelle
unexport
zu tunT="$MYVAR"; unset MYVAR; MYVAR="$T"; unset T
?declare +x MYVAR
, den Export zu entfernen, aber den Wert in der aktuellen Shell zu behalten.export -n MYWAR
funktioniert auch in Bash.Exemplarische Vorgehensweise zum Erstellen und Löschen einer Umgebungsvariablen in bash:
Testen Sie, ob die Variable DUALCASE vorhanden ist:
Dies ist nicht der Fall. Erstellen Sie die Variable und exportieren Sie sie:
Überprüfen Sie, ob es dort ist:
Es ist dort. Also loswerden:
Überprüfen Sie, ob es noch vorhanden ist:
Die exportierte Umgebungsvariable DUALCASE wird gelöscht.
Zusätzliche Befehle zum Löschen Ihrer lokalen und Umgebungsvariablen:
Deaktivieren Sie alle lokalen Variablen beim Anmelden auf den Standardwert:
exec bash
Befehl löschte alle lokalen Variablen, aber keine Umgebungsvariablen.Deaktivieren Sie alle Umgebungsvariablen beim Anmelden auf den Standardwert:
env -i bash
Befehl löschte alle Umgebungsvariablen auf Standard bei der Anmeldung.quelle
echo $VARIABLE
ist es besser alsenv | grep VARIABLE
, es ist leichter, da es nicht alle Variablen drucken und dann seine Ausgabe an einen anderen (grep) Prozess senden muss. Außerdemenv | VARIABLE
könnte mehr als eine Variable abgefangen werden, die demselben Muster entspricht. Plus2echo $VARIABLE
ermöglicht das Vervollständigen des Variablennamens durch Drücken von <Tab> (falls vorhanden, kann dies auch ein Hinweis darauf sein, was Sie tun möchten).echo $VARIABLE
sagt Ihnen nicht, ob es sich bei VARIABLE um eine Shell-Variable (hier als "lokale Variable" bezeichnet) oder um eine Umgebungsvariable handelt. Dies ist der springende Punkt der exemplarischen Vorgehensweise.env -i bash
anscheinend eine Unterschale erstellt wird (zumindest auf einem Mac), die unbeabsichtigte Folgen haben kann.env | grep -e '^VARNAME='
.Da in der ursprünglichen Frage nicht erwähnt wird, wie die Variable festgelegt wurde, und weil ich auf dieser Seite nach dieser spezifischen Antwort gesucht habe, füge ich Folgendes hinzu:
In der C-Shell (csh / tcsh) gibt es zwei Möglichkeiten, eine Umgebungsvariable festzulegen:
set x = "something"
setenv x "something"
Der Unterschied im Verhalten besteht darin, dass Variablen, die mit dem Befehl setenv festgelegt wurden, automatisch in die Unterschale exportiert werden, während Variablen, die mit set festgelegt wurden, nicht exportiert werden.
Verwenden Sie, um einen Variablensatz mit set zu deaktivieren
Verwenden Sie , um einen Variablensatz mit setenv zu deaktivieren
Hinweis: In allen oben genannten Fällen gehe ich davon aus, dass der Variablenname 'x' ist.
Credits:
https://www.cyberciti.biz/faq/unix-linux-difference-between-set-and-setenv-c-shell-variable/ https://www.oreilly.com/library/view/solaristm-7- Referenz / 0130200484/0130200484_ch18lev1sec24.html
quelle
Dies kann auch funktionieren.
quelle
env
Befehls sehen können. Es kann sein, dass die Anwendung, die die Variable verwendet, nicht zwischen nicht vorhandener und leerer Umgebungsvariable unterscheidet.export PAGER=
deaktivieren, aber dadurch wurde das Paging vollständig deaktiviert - alle meine Manpages wurden direkt auf das Terminal übertragen.unset PAGER
hat den Trick gemacht und es auf das Standardverhalten zurückgesetzt.Wie in den obigen Antworten erwähnt,
unset GNUPLOT_DRIVER_DIR
sollte funktionieren, wenn Sieexport
die Variable festgelegt haben. Wenn Sie es dauerhaft eingestellt haben~/.bashrc
oder es~/.zshrc
dann einfach von dort entfernen, funktioniert es.quelle