Просто трохи оновити (для Python3) та покращити вибрану відповідь, щоб додати кольори до підказки відповідно до підказки BASH (все одно в Linux Mint 18.3):
#! /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) )
Більше про кольорові коди в терміналі BASH тут . Мабуть, є якийсь спосіб дізнатися, які кольори використовує ваш Термінал автоматично, але я не маю поняття, що це може бути.
З лінії shebang лінія export
для включення в .bashrc потім стає:
export PROMPT_COMMAND='PS1="$(~/.local/bin/manage_prompt.py)"' # adjust path to .py file
NB1 ці "\ e" коди втечі завжди повинні бути вкладені в "\ [... \]", інакше повернення рядків повністю заплутаються.
NB2, щоб отримати повний шлях у будь-який час, просто вирушайте
... $ pwd
звичайно...
~/.bashrc
? Чи було б просто вставити останній рядок у нижній частині файлу?