Linux

如何更改 linux 終端提示符以匹配 ParrotOS

  • May 7, 2020

我知道可以使用更改終端提示,PS1="prefix"並且我知道如何永久設置它,這不是問題。我只是想知道,我將如何將它設置為在 parrot OS 中的樣子?

尤其是我將如何使它成為多行以及如何創建那個漂亮的箭頭?

在此處輸入圖像描述

這是我的程式碼(不完全相同)。

  • 做換行有一個\n
  • 有趣的箭頭是 unicode 一個字元(從網路查找粘貼)
  • 顏色程式碼必須在\[and之間\],以告訴 bash 它們的寬度為零(這樣它就可以完成它的工作,比如轉到行首。這一切都是用航位推算完成的。
  • 類似的程式碼\033[01;32m是顏色程式碼。
if [ "$color_prompt" = yes ]; then
 PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
   PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
_PS1="$PS1"
PS1='$(echo $title|sed -r -e "s/^(\S+)\$/[\1]/")'"${_PS1}\n#↳ "

Shell 提示娛樂:

Shell 使用類似 ParrotOS 的提示符

創建一個文件 ~/.bash_prompt(或您喜歡的任何名稱)並將此程式碼粘貼到其中

# Define some basic colors using tput (8-bit color: 256 colors)
red="\[$(tput setaf 160)\]"
bright_red="\[$(tput setaf 196)\]"
light_purple="\[$(tput setaf 60)\]"
orange="\[$(tput setaf 172)\]"
blue="\[$(tput setaf 21)\]"
light_blue="\[$(tput setaf 80)\]"
bold="\[$(tput bold)\]"
reset="\[$(tput sgr0)\]"

# Define basic colors to be used in prompt
## The color for username (light_blue, for root user: bright_red)
username_color="${reset}${bold}${light_blue}\$([[ \${EUID} == 0 ]] && echo \"${bright_red}\")";
## Color of @ and ✗ symbols (orange)
at_color=$reset$bold$orange
## Color of host/pc-name (blue)
host_color=$reset$bold$blue
## Color of current working directory (light_purple)
directory_color=$reset$light_purple
## Color for other characters (like the arrow)
etc_color=$reset$red
# If last operation did not succeded, add [✗]- to the prompt
on_error="\$([[ \$? != 0 ]] && echo \"${etc_color}[${at_color}✗${etc_color}]─\")"
# The last symbol in prompt ($, for root user: #)
symbol="${reset}${bold}${bright_red}$(if [[ ${EUID} == 0 ]]; then echo '#'; else echo '$'; fi)"


# Setup the prompt/prefix for linux terminal
PS1="${etc_color}┌─${on_error}[";
PS1+="${username_color}\u"; # \u=Username
PS1+="${at_color}@";
PS1+="${host_color}\h" #\h=Host
PS1+="${etc_color}]-[";
PS1+="${directory_color}\w"; # \w=Working directory
PS1+="${etc_color}]\n└──╼ "; # \n=New Line
PS1+="${symbol}${reset}";

export PS1

註釋應充分描述程式碼功能。

如果您想自動使用此提示,請將以下程式碼添加到您的 ~/.bashrc 文件中

# Use custom bash prompt (will execute .bash_prompt script)
if [ -f ~/.bash_prompt ]; then
 . ~/.bash_prompt
fi

引用自:https://unix.stackexchange.com/questions/558690