私はbashプロンプトをカスタマイズしようとしてきました。
以下は私の構成です
#!bin/bash
Nocolor="\[\033[0m\]" # Text Reset
# Bold High Intensty
BIBlack="\[\033[1;90m\]" # Black
BIRed="\[\033[1;91m\]" # Red
BIGreen="\[\033[1;92m\]" # Green
BIYellow="\[\033[1;93m\]" # Yellow
BIBlue="\[\033[1;94m\]" # Blue
BIPurple="\[\033[1;95m\]" # Purple
BICyan="\[\033[1;96m\]" # Cyan
BIWhite="\[\033[1;97m\]" # White
function git_color {
local git_status="$(git status 2> /dev/null)"
if [[ $git_status =~ "Changes not staged for commit" ]]; then
echo -e $BIRed
elif [[ $git_status =~ "Changes to be committed" ]]; then
echo -e $BIYellow
else
echo -e $BIGreen
fi
}
PS1="\u\[$BIRed\]\W"
PS1+="\$(git_color) $ "
PS1+="\[$Nocolor\]"
export PS1
私がしたいのは、私の子供の状態に応じて特定の色で$記号を強調表示することです。
これはどこで作られましたか?\[\]から。私はgit_statusメソッドを呼び出すためにすべての可能な方法を試しましたが、何も機能しませんでした。
私のバージョンの Bash
bash --version
GNU bash, version 5.0.3(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
助ける。よろしくお願いします。
ベストアンサー1
\[
またはPS1に直接含めないでください。\]
したがって、拡張内容と説明内容を追跡する必要はありません。
Nocolor="\033[0m" # Text Reset
# Bold High Intensty
BIBlack="\033[1;90m" # Black
BIRed="\033[1;91m" # Red
BIGreen="\033[1;92m" # Green
BIYellow="\033[1;93m" # Yellow
BIBlue="\033[1;94m" # Blue
BIPurple="\033[1;95m" # Purple
BICyan="\033[1;96m" # Cyan
BIWhite="\033[1;97m" # White
function git_color {
local git_status="$(git status 2> /dev/null)"
if [[ $git_status =~ "Changes not staged for commit" ]]; then
echo -ne "$BIRed"
elif [[ $git_status =~ "Changes to be committed" ]]; then
echo -ne "$BIYellow"
else
echo -ne "$BIGreen"
fi
}
PS1="\u\[$BIRed\]\W"
PS1+="\[\$(git_color)\] $ "
PS1+="\[$Nocolor\]"
-n
エコも追加しましたが、違いはありません。