Ich habe dieses "export HISTCONTROL=ignoredups" hinzugefügt Zeile in ~/.bashrc Datei, um doppelte Einträge im Bash-Verlauf zu vermeiden auf meinem Linux-Desktop. Ist Ihnen aufgefallen, dass ich HISTCONTROL vorangestellt habe Variable mit "export" ? Wissen Sie - was "export" ist Option für? Wenn Sie sich fragen, was der Unterschied zwischen der Definition von Bash-Variablen ist mit und ohne Exportoption, lesen Sie weiter!
Unterschied zwischen der Definition von Bash-Variablen mit und ohne Export
Wir definieren eine Variable mit export um es allen Unterprozessen (oder untergeordneten Prozessen) zur Verfügung zu stellen. Bedeutung - wenn Sie eine Variable mit export definieren wie unten,
export variable_name=value
Die Variable steht jedem Unterprozess zur Verfügung Sie laufen von diesem Shell-Prozess aus.
Wenn Sie eine Variable ohne export definieren wie unten,
variable_name=value
Die Variable ist auf die Shell beschränkt und steht keinem anderen Unterprozess zur Verfügung. Sie können es für temporäre und/oder Loop-Variablen verwenden.
Erlauben Sie mir, Ihnen ein Beispiel zu zeigen, damit Sie es besser verstehen können.
Lassen Sie mich eine Variable namens "ostechnix" definieren ohne "export" wie unten:
$ ostechnix="Welcome to ostechnix.com blog!"
Zeigen Sie nun den Wert mit dem Befehl "echo" an:
$ echo $ostechnix
Es zeigt den Wert der ostechnix-Variablen an:
Welcome to ostechnix.com blog!
Starten Sie nun eine neue Bash-Shell-Sitzung, indem Sie den folgenden Befehl ausführen:
$ bash
Versuchen Sie dann, den Wert der ostechnix-Variablen mit echo anzuzeigen Befehl:
$ echo $ostechnix
Sehen? Es gibt nichts zurück! Sie sehen nur eine leere Ausgabe. Somit ist bewiesen, dass wenn wir eine Variable ohne export definieren , steht es untergeordneten Prozessen nicht zur Verfügung.
Lassen Sie uns dieselbe Variable noch einmal mit export definieren Möglichkeit:
$ export ostechnix="Welcome to ostechnix.com blog!"
Zeigen Sie den Wert der Variablen an:
$ echo $ostechnix
Beispielausgabe:
Welcome to ostechnix.com blog!
Starten Sie eine neue Shell-Sitzung:
$ bash
Versuchen Sie erneut, den Wert der Variablen anzuzeigen:
$ echo $ostechnix
Es wird nun den Wert zurückgeben.
Daher stellt der Export die Variable allen anderen untergeordneten Prozessen in dieser Shell-Umgebung zur Verfügung.