GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Unterschied zwischen der Definition von Bash-Variablen mit und ohne Export

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.


Linux
  1. Unterschied zwischen ' und ' in der Befehlszeile (bash)??

  2. Der Unterschied in der Verwendung zwischen Shell-Variablen und Umgebungsvariablen?

  3. Unterschied zwischen Eot und Eof?

  4. Unterschied zwischen [0-9], [[:digit:]] und D?

  5. Was ist der Unterschied zwischen #!/usr/bin/env bash und #!/usr/bin/bash?

Importieren Sie Funktionen und Variablen mit dem Quellbefehl in Bash

Bash-Exportvariable

Bash-Scripting – Variablen mit Beispielen erklärt

Bash-Variablen-Tutorial – 6 praktische Bash-Beispiele für globale und lokale Variablen

Was ist der Unterschied zwischen &> und >&in bash?

Was ist der Unterschied zwischen $(CC) und $CC?