Versteckt das aktuelle Arbeitsverzeichnis im Terminal

111

Standardmäßig zeigt die Terminal-Eingabeaufforderung Folgendes an:

user@system:/folder1/folder2/folder3/folder4$

Je tiefer Sie in das Dateisystem gehen, desto weniger Platz ist für die Eingabe von Befehlen übrig. Kann ich dies so ändern, dass nur etwas wie folgt angezeigt wird:

>

Ich meine, ich kann einfach pwd eingeben, um anzuzeigen, wo ich bin. ;)

    
Theodor 09.12.2010, 10:16
quelle

5 Antworten

128
export PS1='\u@\h: '

Das ergibt oli@bert: für meine Eingabeaufforderung.

Wenn Sie wirklich etwas Minimalistisches wollen, wie Sie es wünschen, versuchen Sie Folgendes:

export PS1='> '

Sie können das an das Ende Ihrer ~/.bashrc -Datei anhängen, damit es zwischen den Logins bestehen bleibt.

Sie können auch mit einigen Farben kreativ werden. Hier ist, was ich auf meinen Servern verwende:

export PS1='\[3[0;35m\]\h\[3[0;33m\] \w\[3[00m\]: '

Geben (es ist einfacher, auf einem vollen schwarzen Hintergrund zu sehen):

Glossar akzeptabler Zeichen in PS1

>     
Oli 09.12.2010, 10:22
quelle
86

Nur um Oli's Antwort zu erweitern (und damit ich ein Lesezeichen für diese Kurzzeichen habe):

Die Bash-Eingabeaufforderung ( stefano@linux:~$ ) ist nur die erste einer Reihe von Eingabeaufforderungen Sie könnten sehen:

  • PS1 : Die Standardeingabeaufforderung, die beim Öffnen einer Shell angezeigt wird

    Der Wert wird in einer Umgebungsvariablen namens PS1 gespeichert. Um seinen Wert zu sehen, Geben Sie

    ein

    echo $PS1

    Dies wird Ihnen etwas wie

    geben
    \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w$
    

    Um es zu ändern, können Sie einen neuen Wert für die Variable festlegen:

    export PS1="\u > "
    

    Dies wird zu einer Eingabeaufforderung wie folgt führen:

    stefano > 
    
  • PS2 : ist Ihre sekundäre Eingabeaufforderung. Dies wird angezeigt, wenn ein Befehl nicht beendet ist. Geben Sie echo "asd ein und drücken Sie die Eingabetaste. Mit der sekundären Eingabeaufforderung können Sie mehr eingeben Linien, bis Sie die Anführungszeichen schließen.

  • PS3 ist die Eingabeaufforderung für select (2)

  • PS4 ist die Eingabeaufforderung für Stack-Traces (Standard: + )

Um die Änderungen dauerhaft zu machen, hängen Sie sie an das Ende von .bash_profile (oder .bashrc , siehe diese Frage ) in Ihrem Heimverzeichnis.

Hier ist eine mehr oder weniger vollständige Liste von Kurzschreibweisen, die Sie verwenden können, wenn Sie diese zusammenstellen:

  • \a Das 'Glockenzeichen'
  • \A 24-Stunden-Zeit
  • \d Datum (z. B. Dienstag, 21. Dezember)
  • \e Der Escape-Charakter
  • \h Hostname (bis zum ersten ".")
  • \H Hostname
  • \j Anzahl der derzeit ausgeführten Jobs (ps)
  • \l Aktuelles tty
  • \n Zeilenschaltung
  • \t Zeit (hh: mm: ss)
  • \T Zeit (hh: mm: ss, 12-Stunden-Format)
  • \r Wagenrücklauf
  • \s Shell (z. B. bash, zsh, ksh ..)
  • \u Benutzername
  • \v Bash-Version
  • \V Vollständige Bash-Freigabestring
  • \w Aktuelles Arbeitsverzeichnis
  • \W Letzter Teil des aktuellen Arbeitsverzeichnisses
  • \! Aktueller Index in der Historie
  • \# Befehlsindex
  • $ Ein "#" wenn Sie root sind, sonst "$"
  • \ Literal-Backslash
  • \@ Zeit (12-Stunden-Format mit am / pm)

Sie können natürlich eine beliebige Zeichenfolge und einen beliebigen Befehl einfügen:

export PS1="\u $(pwd) > "

Dabei steht $(pwd) anstelle von "der Ausgabe von" pwd.

  • Wenn die Befehlssubstitution wie in $(pwd) maskiert ist, wird sie jedes Mal ausgewertet, wenn die Eingabeaufforderung angezeigt wird. Andernfalls wird sie wie in $(pwd) nur einmal beim Start von bash ausgewertet.

Wenn Sie Ihre Eingabeaufforderung mit Farben versehen möchten, können Sie dafür die Farbcodes der bash verwenden. Der Code besteht aus drei Teilen:

40;33;01
  • Der erste Teil vor dem Semikolon steht für den Textstil.

    • 00 = keine
    • 01 = fett
    • 04 = Unterstrich
    • 05 = blink
    • 07 = rückwärts
    • 08 = verborgen
  • Der zweite und dritte Teil sind die Farbe und die Hintergrundfarbe:

    • 30 = schwarz
    • 31 = rot
    • 32 = grün
    • 33 = gelb
    • 34 = blau
    • 35 = Magenta
    • 36 = Cyan
    • 37 = weiß

Jeder Teil kann weggelassen werden, vorausgesetzt, er beginnt auf der linken Seite. h. "1" bedeutet fett, "1; 31" bedeutet fett und rot. Und Sie würden Ihr Terminal in Farbe drucken lassen, indem Sie die Anweisung mit [ umgehen und sie mit einem m beenden. 33, oder 1B in hexadezimal, ist das ASCII-Zeichen "ESCAPE" (ein Sonderzeichen im ASCII-Zeichensatz). Beispiel:

"[1;31mHello World[m"

Druckt "Hello World" in leuchtendem Rot.

    
Stefano Palazzo 21.12.2010 22:57
quelle
6

Eine andere Alternative ist, den Arbeitsverzeichnispfad zu kürzen, wenn er zu lang wird: trimmen Sie das Arbeitsverzeichnis des Terminalbefehlsaufrufs

  

Erstellen Sie ein kleines Python-Skript, das die gewünschte Trimmlogik implementiert.

     

Beispiel: ~ / short.pwd.py

import os
from commands import getoutput
from socket import gethostname
hostname = gethostname()
username = os.environ['USER']
pwd = os.getcwd()
homedir = os.path.expanduser('~')
pwd = pwd.replace(homedir, '~', 1)
if len(pwd) > 30:
    pwd = pwd[:10]+'...'+pwd[-20:] # first 10 chars+last 20 chars
print '[%s@%s:%s] ' % (username, hostname, pwd)
     

Testen Sie es jetzt von einem Terminal:

export PROMPT_COMMAND='PS1="$(python ~/.short.pwd.py)"'
     

Wenn Sie mit dem Ergebnis einverstanden sind, fügen Sie einfach den Befehl in Ihre ~ / .bashrc

ein
    
Olivier Lalonde 22.12.2010 01:26
quelle
4

Ich möchte das oft vorübergehend machen. Folgendes mache ich:

$ export OLD_PS1=$PS1                    # save Long Prompt to OLD_PS1
$ export PS1="\u > "export PS1="\u $ "   # change to PS1 to Short Prompt
$ export PS1=$OLD_PS1                    # restore Long Prompt to PS1

Ich hoffe, das hilft jemandem.

    
quelle
0

Die Sache, die mir geholfen hat, war: Export PS1 = '$'

Um dies bei jedem Öffnen des Terminals zu erhalten, schreiben Sie den Befehl am Ende der .bashrc, die Sie mit 'cd' gefolgt von 'gedit .bashrc' öffnen können.

Hoffe, das hilft. Arbeitete für mich.

    
Arka Mitra 05.07.2018 21:36
quelle

Tags und Links