Nur um ein kleines Update (für Python3) durchzuführen und die ausgewählte Antwort zu verbessern , um der Eingabeaufforderung Farben hinzuzufügen, wie bei einer BASH-Eingabeaufforderung (in Linux Mint 18.3 jedenfalls):
#! /usr/bin/python3
import os, getpass
from socket import gethostname
username = getpass.getuser()
hostname = gethostname()
pwd = os.getcwd()
homedir = os.path.expanduser('~')
pwd = pwd.replace(homedir, '~', 1)
if len(pwd) > 40:
# first 10 chars+last 30 chars
pwd = pwd[:10] + '...' + pwd[-30:]
# colours as per my current BASH Terminal:
# username + hostname: bold green
# path and $: bold blue
print( '\[\e[;1;32m\]%s@%s \[\e[;1;34m\]%s $\[\e[0m\] ' % (username, hostname, pwd) )
Mehr zu Farbcodes in einem BASH-Terminal hier . Es gibt wahrscheinlich eine Möglichkeit herauszufinden, welche Farben Ihr Terminal automatisch verwendet, aber ich habe keine Ahnung, was das sein könnte.
Mit der shebang-Zeile wird die export
Zeile für die Aufnahme in .bashrc dann zu:
export PROMPT_COMMAND='PS1="$(~/.local/bin/manage_prompt.py)"' # adjust path to .py file
NB1 diese "\ e" Escape-Codes müssen immer in "\ [... \]" eingeschlossen sein, sonst werden Zeilenumbrüche völlig durcheinander gebracht.
NB2, um jederzeit den vollen Weg zu finden, gehen Sie einfach
... $ pwd
Na sicher...
~/.bashrc
? Würde es nur die letzte Zeile am Ende der Datei einfügen?