• Wir Content Creator haben es nicht immer leicht. Gerade wenn es um Screenshots und sensible Daten geht, ist der Datenschutz oft mit erhöhtem Aufwand verbunden. Einige meiner Tutorials entstehen im Laufe des Prozesses und dabei ist es nicht immer leicht, das ganze erneut auf einer Testumgebung nachzubilden. Ein konkretes Beispiel dafür ist die Verwendung des Terminals.

    Das Terminal

    Das Terminal, auch bekannt als die Befehlszeile oder die Konsole, ist eine textbasierte Schnittstelle, die es Benutzern ermöglicht, Befehle an ihr Betriebssystem zu senden. Mit dem Terminal können Benutzer Verzeichnisse durchsuchen, Dateien erstellen, ändern und löschen, Prozesse verwalten und vieles mehr. Es werden darunter unter anderem der Benutzername und der Hostname angezeigt. Diese Daten sind nicht immer für die Öffentlichkeit bestimmt.

    coopers-MacBook-Air-6:folder1 cooper$ 
    

    In diesem Fall werden keine sensiblen Daten angezeigt, denn neben meinem Benutzernamen cooper und dem Hostname coopers-MacBookAir-6 gibt es sonst nichts Weiteres zu sehen. Aber diese beiden Angaben geben potenziellen Angreifern schon mal einen Hinweis darauf, wo sie ansetzen können. Abhilfe hier schaffen Umgebungsvariablen. Gut, dass ich diese Anzeige bereits vor dem Kopieren geändert habe. :schmartie: Und an dieser Stelle kommen sogenannte Umgebungsvariablen ins Spiel.

    Umgebungsvariablen

    Eine Umgebungsvariable ist eine Variable, die von einem Betriebssystem oder einer Anwendung gesetzt wird und einen Wert enthält, der von anderen Programmen und Prozessen in der aktuellen Umgebung gelesen werden kann. Die Umgebungsvariablen haben normalerweise Namen und Werte, die als Textzeichenketten dargestellt werden.

    Eingabeaufforderung ändern

    In meinem speziellen Fall wird die die Eingabeaufforderung durch die Umgebungsvariable PS1 geändert. Wenn man diese Zeile in einem Terminal ausführt, wird die Befehlszeile sofort aktualisiert und die neue Eingabeaufforderung angezeigt. In einer Unix-Shell steht “PS1” für die “Prompt-String-1”-Variable, die den Text definiert, der vor jedem Befehlseingabefeld angezeigt wird. Mit “export” wird die Variable “PS1” zur Umgebungsvariable gemacht

    Setzt man also folgenden Befehl in der Konsole ab, ändert sich die Eingabeaufforderung im selben Moment.

    coopers-MacBook-Air-6:folder1 cooper$ export PS1="master.daddy$ "
    master.daddy$ echo Hallo
    Hallo
    master.daddy$ 
    

    Natürlich ist das nur ein simples Beispiel für die Anwendung einer Umgebungsvariable. Neben der eben genannten gibt es noch weitere Umgebungsvariablen, die genutzt werden können. Diese wären unter anderem:

    • PS1: Definiert den primären Prompt-String, der vor der Eingabeaufforderung angezeigt wird.
    • PS2: Definiert den sekundären Prompt-String, der angezeigt wird, wenn ein Befehl über mehrere Zeilen eingegeben wird.
    • PS3: Definiert den Prompt-String, der angezeigt wird, wenn die Shell den Benutzer auffordert, eine Auswahl zu treffen.
    • PS4: Definiert den Prompt-String, der bei der Verwendung des Befehls “set -x” angezeigt wird, um die Ausgabe von Shell-Skripten zu debuggen.

    Neben den genannten Prompt-String Variablen gibt es noch viele weitere Variablen die immer wieder zum Einsatz kommen.

    • PATH: Definiert die Verzeichnisse, in denen die Shell nach ausführbaren Dateien sucht.
    • HOME: Gibt das Verzeichnis des Benutzers an.
    • USER: Gibt den Benutzernamen an.
    • SHELL: Gibt den Pfad zur Shell an, die der Benutzer verwendet.
    • TERM: Gibt den Typ des verwendeten Terminals an.
    • LANG: Gibt die Standard-Spracheinstellung an.
    • PWD: Gibt das aktuelle Arbeitsverzeichnis an.
    • EDITOR: Gibt den Standard-Texteditor an, der von einigen Programmen verwendet wird, um Textdateien zu bearbeiten.
    • DISPLAY: Gibt den Namen des Displays an, auf dem grafische Anwendungen angezeigt werden sollen.

    Mein Lieblingsvariable ist und bleibt PS1.

Ähnliche Themen

  • 8
  • 1
  • 1
  • 11
  • 1