Untuk memperbarui sedikit (untuk Python3) dan tingkatkan jawaban yang dipilih untuk menambahkan warna ke prompt sesuai permintaan BASH (toh 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) )
Lebih lanjut tentang kode warna di Terminal BASH di sini . Mungkin ada beberapa cara untuk mengetahui warna apa yang digunakan Terminal Anda secara otomatis, tetapi saya belum tahu apa itu.
Dengan garis shebang garis exportuntuk dimasukkan dalam .bashrc kemudian menjadi:
export PROMPT_COMMAND='PS1="$(~/.local/bin/manage_prompt.py)"' # adjust path to .py file
NB1 kode "" e "escape ini harus selalu dimasukkan dalam" \ [... \] ", jika tidak, line-return akan benar-benar kacau.
NB2 untuk mendapatkan path lengkap Anda kapan saja pergi
... $ pwd
tentu saja...
~/.bashrc? Apakah itu hanya akan menempelkan baris terakhir di bagian bawah file?