Chỉ cần cập nhật một chút (cho Python3) và nâng cao câu trả lời đã chọn để thêm màu vào lời nhắc theo lời nhắc BASH (dù sao trong 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:]
# Virtual environment being used? Essential not to omit!
ve = os.getenv('VIRTUAL_ENV')
venv = '(`basename \"$VIRTUAL_ENV\"`)' if ve else ''
# colours as per my current BASH Terminal:
# username + hostname: bold green
# path and $: bold blue
print( '\[\e[;1;32m\]%s%s@%s \[\e[;1;34m\]%s $\[\e[0m\] ' % (venv, username, hostname, pwd) )
Thông tin thêm về mã màu trong BASH Terminal tại đây . Có lẽ có một số cách để tìm ra màu sắc mà Terminal của bạn sử dụng tự động, nhưng tôi không biết đó có thể là màu gì.
Với dòng shebang, export
dòng để đưa vào .bashrc sau đó trở thành:
export PROMPT_COMMAND='PS1="$(~/.local/bin/manage_prompt.py)"' # adjust path to .py file
NB1 các mã thoát "\ e" này phải luôn được đặt trong "\ [... \]", nếu không, các dòng trả về sẽ bị rối hoàn toàn.
NB2 để có được đường dẫn đầy đủ của bạn bất cứ lúc nào chỉ cần đi
... $ pwd
tất nhiên...
~/.bashrc
? Nó sẽ chỉ dán dòng cuối cùng ở dưới cùng của tập tin?