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 export
untuk 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?