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

Linux-env-Befehls-Tutorial für Anfänger (5 Beispiele)

Wenn Ihre Arbeit darin besteht, Dinge über die Befehlszeile in Linux zu erledigen, verwenden Sie höchstwahrscheinlich die Bash-Shell. Wussten Sie, dass den Prozessen, die über die Shell ausgeführt werden, eine Umgebung zugeordnet ist? Und wenn Sie möchten, können Sie diese Umgebung speziell für die Aufgabe optimieren, die Sie ausführen? Nun, in diesem Artikel werden wir ein Befehlszeilentool besprechen - env - Damit können Sie nicht nur auf die Shell-Umgebung zugreifen, sondern bei Bedarf auch Änderungen daran vornehmen.

Aber bevor wir das tun, ist es erwähnenswert, dass alle in diesem Tutorial erwähnten Befehle und Anweisungen auf der Bash-Shell getestet wurden, die auf Ubuntu 16.04LTS ausgeführt wird.

Linux-env-Befehl

Per Definition können Sie mit dem Befehl env ein Programm in einer modifizierten Umgebung ausführen. Es folgt die Syntax des Befehls, wie auf seiner Manpage erwähnt:

env [OPTION]... [-] [NAME=WERT]... [BEFEHL [ARG]...]

Und hier ist, was die Manpage über env sagt:

Setzen Sie jeden NAMEN in der Umgebung auf VALUE und führen Sie BEFEHL aus.

Die folgenden Beispiele im Q&A-Stil sollen Ihnen eine bessere Vorstellung davon vermitteln, wie dieser Befehl funktioniert:

Q1. Wie greife ich mit dem Befehl env auf alle Umgebungsvariablen zu?

Wie Sie vielleicht bereits wissen, besteht die Bash-Umgebung aus VARNAME=VALUE-Einträgen. Um auf alle Umgebungsvariablen sowie die ihnen zugeordneten Werte zuzugreifen, führen Sie den Befehl env ohne Option aus.

env

Hier ist die Ausgabe des obigen Befehls in unserem Fall:

Q2. Wie kann man die Umgebung mit env vorübergehend ändern?

Die Hauptfunktion von env ist die Möglichkeit, die Umgebung für einen Prozess vorübergehend zu ändern. Zum Beispiel haben wir eine kleine ausführbare Datei namens env erstellt, die den Wert der Umgebungsvariablen USER bei der Ausführung anzeigt.

Hier ist die Ausgabe im normalen Szenario:

Was wir nun getan haben, war, den env-Befehl zu verwenden, um den Wert der USER-Umgebungsvariable für die ausführbare Datei/den Prozess vorübergehend von „himanshu“ in „HTF“ zu ändern. Das Folgende ist der Befehl, den wir in diesem Fall verwendet haben:

env USER=HTF ./env

Und hier ist die Ausgabe, die in diesem Fall erzeugt wird:

Sie können also sehen, dass die ausführbare Datei den neuen Wert zurückgegeben hat.

Hinweis:Wie von der generischen Syntax des Tools vorgeschlagen, können Sie die Werte mehrerer Umgebungsvariablen optimieren und dafür sorgen, dass der Prozess diese neuen Werte verwendet.

Q3. Wie kann man mit env einen Prozess dazu bringen, die vorhandene Umgebung zu ignorieren?

Wenn Sie möchten, können Sie einen Prozess auch dazu bringen, eine vorhandene/geerbte Umgebung zu ignorieren und stattdessen mit einer leeren Umgebung zu beginnen. Dies kann mit dem -i erfolgen oder --ignore-environment Option.

Zum Beispiel:

Q4. Wie bringt env dazu, NUL anstelle des Zeilenumbruchzeichens in der Ausgabe zu verwenden?

Im ersten Beispiel, das wir oben besprochen haben, werden die von env erzeugten Ausgabezeilen durch Zeilenumbrüche getrennt. Wenn Sie möchten, können Sie jedoch festlegen, dass env das NUL-Zeichen als Trennzeichen verwendet. Auf diese Funktion kann mit --null zugegriffen werden Befehlszeilenoption.

env --null

Es folgt ein Beispiel-Screenshot;

Q5. Wie erkenne ich den Fehler basierend auf dem Exit-Status des env-Befehls?

Der Befehl env erzeugt die folgenden Exit-Codes:0, 125, 126 und 127. Im Folgenden finden Sie die zugehörigen Fehlerbeschreibungen:

0   wenn kein COMMAND angegeben ist und die Umgebung ausgegeben wird
125 wenn 'env' selbst fehlschlägt
126 wenn COMMAND gefunden wird, aber nicht aufgerufen werden kann
127 wenn COMMAND nicht gefunden werden kann

Falls Sie einen anderen Fehlercode als die oben genannten erhalten, ist dies der Exit-Status, der von dem Prozess/Befehl zurückgegeben wird, der mit geänderter Umgebung ausgeführt wurde.

Schlussfolgerung

Wenn Sie ein absoluter Befehlszeilen-Neuling sind, werden Sie dieses Tool wahrscheinlich nicht täglich benötigen. Das heißt jedoch nicht, dass es sich nicht lohnt, darüber Bescheid zu wissen – tatsächlich ist env in vielen Situationen sehr praktisch. Die Beispiele, die wir in diesem Tutorial geteilt haben, sollten ausreichen, um Ihnen einen Vorsprung zu verschaffen. Weitere Informationen finden Sie auf der Manpage des Befehls, oder führen Sie besser den folgenden Befehl aus:

info coreutils env-Aufruf

Linux
  1. Linux-CD-Befehls-Tutorial für Anfänger (8 Beispiele)

  2. Linux-Kommando-Tutorial für Anfänger (5 Beispiele)

  3. Linux-df-Befehls-Tutorial für Anfänger (8 Beispiele)

  4. Linux Date Command Tutorial für Anfänger (8 Beispiele)

  5. Linux-Hostname-Befehls-Tutorial für Anfänger (5 Beispiele)

Linux nl Command Tutorial für Anfänger (7 Beispiele)

Linux lscpu Command Tutorial für Anfänger (5 Beispiele)

Linux-nm-Befehls-Tutorial für Anfänger (10 Beispiele)

Linux OD Command Tutorial für Anfänger (6 Beispiele)

Linux w Command Tutorial für Anfänger (5 Beispiele)

Linux ss Command Tutorial für Anfänger (8 Beispiele)