it-swarm.com.de

Verstecke das aktuelle Arbeitsverzeichnis im Terminal

Standardmäßig zeigt die Eingabeaufforderung des Terminals Folgendes an:

[email protected]:/folder1/folder2/folder3/folder4$

je tiefer Sie in das Dateisystem vordringen, desto weniger Platz bleibt für die Eingabe von Befehlen. Kann ich dies so ändern, dass nur Folgendes angezeigt wird:

>

Ich meine, ich kann einfach pwd eingeben, um zu zeigen, wo ich mich befinde. ;)

133
Theodor
export PS1='\[email protected]\h: '

Das ergibt [email protected]: für meine Eingabeaufforderung.

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

export PS1='> '

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

Sie können auch mit einigen Farben kreativ werden. Folgendes verwende ich auf meinen Servern:

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

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

My terminals

Glossar akzeptabler Zeichen in PS1

153
Oli

Um die Antwort von Oli zu erweitern (und damit ich ein Lesezeichen für diese Kurzzeichensymbole habe):

Die Bash-Eingabeaufforderung (_[email protected]:~$_) ist nur die erste von ein paar Eingabeaufforderungen, die Sie möglicherweise sehen:

  • PS1 : Die Standard-Eingabeaufforderung, die beim Öffnen einer Shell angezeigt wird

    Der Wert wird in einer Umgebungsvariablen mit dem Namen _PS1_ gespeichert. Geben Sie ein, um den Wert anzuzeigen

    _echo $PS1_

    Das gibt dir so etwas wie

    _\[\e]0;\[email protected]\h: \w\a\]${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$
    _

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

    _export PS1="\u > "
    _

    Dies führt zu einer Eingabeaufforderung wie folgt:

    _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 weitere Zeilen eingeben, bis Sie die Anführungszeichen schließen.

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

  • PS4 ist die Eingabeaufforderung für alt text Stapelspuren (Standard: _+_)

Um die Änderungen dauerhaft zu machen, fügen Sie sie an das Ende von _.bash_profile_ (oder _.bashrc_ an, siehe diese Frage ) in Ihrem Ausgangsverzeichnis.

Hier ist eine mehr oder weniger vollständige Liste der Kurzformate, die Sie beim Verfassen dieser verwenden können:

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

Sie können natürlich jede Literalzeichenfolge und jeden Befehl einfügen:

_export PS1="\u \$(pwd) > "
_

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

  • Wenn die Befehlsersetzung wie in \$(pwd) ausgeblendet wird, wird sie jedes Mal ausgewertet, wenn die Eingabeaufforderung angezeigt wird, andernfalls wird sie wie in $(pwd) nur einmal ausgewertet, wenn die Bash gestartet wird.

Wenn Sie möchten, dass Ihre Eingabeaufforderung Farben enthält, können Sie die Farbcodes von 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 = blinken
    • 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 links. "1" bedeutet fett, "1; 31" bedeutet fett und rot. Wenn Sie die Anweisung mit _\33[_ schließen und mit m beenden, wird Ihr Terminal in Farbe gedruckt. 33 oder 1B in hexadezimaler Schreibweise ist das Zeichen ASCII "ESCAPE" (ein Sonderzeichen im Zeichensatz ASCII). Beispiel:

_"\33[1;31mHello World\33[m"
_

Druckt "Hello World" in leuchtendem Rot.

102
Stefano Palazzo

Eine andere Alternative besteht darin, den Arbeitsverzeichnispfad zu verkürzen, wenn er zu lang wird: Kürzen Sie den Terminalbefehl Prompt working directory

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 '[%[email protected]%s:%s] ' % (username, hostname, pwd)

Testen Sie es jetzt von einem Terminal aus:

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

Wenn Sie mit dem Ergebnis zufrieden sind, fügen Sie den Befehl einfach in Ihr ~/.bashrc ein

8
Olivier Lalonde

Ich möchte das oft vorübergehend tun. 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.

Das was mir geholfen hat war: export PS1 = '$'

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

Hoffe das hilft. Hat für mich geklappt.

0
Arka Mitra

für MacOS Benutzer:

open ~/.bash_profile

füge am Ende der Datei die folgende Zeile hinzu und speichere sie

export PS1='\u:\w\$ '

Ergebnis im Home-Verzeichnis:

user: ~$

hier u für Benutzer w für aktuelles Arbeitsverzeichnis $ soll zur Anzeige auffordern

sie können die folgenden Stile ausprobieren:

export PS1='$ '

nur $ als Eingabeaufforderung haben, sonst nichts. genau wie:

$ 
0
Sree