bash_aliases: show nonzero process exit code without re-setting PS1 in PROMPT_COMMAND
This commit is contained in:
parent
799b4b314d
commit
8628b1d82b
30
bash_aliases
30
bash_aliases
@ -42,15 +42,21 @@ function ps-color() {
|
|||||||
#bind '"\C-j": "\M-\C-h1\M-\C-h2"'
|
#bind '"\C-j": "\M-\C-h1\M-\C-h2"'
|
||||||
#bind '"\C-m": "\M-\C-h1\M-\C-h2"'
|
#bind '"\C-m": "\M-\C-h1\M-\C-h2"'
|
||||||
|
|
||||||
eval "
|
_last_exit_status=0
|
||||||
function prompt_ps1_exit_status()
|
|
||||||
|
function prompt_ps1_exit_status_1()
|
||||||
{
|
{
|
||||||
local exit_status=\$?
|
if [ $_last_exit_status -ne 0 ]; then
|
||||||
if [ \$exit_status -ne 0 ]; then
|
echo $_last_exit_status
|
||||||
echo \"$(ps-color bold on-red)\$exit_status$(ps-color reset) \"
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function prompt_ps1_exit_status_2()
|
||||||
|
{
|
||||||
|
if [ $_last_exit_status -ne 0 ]; then
|
||||||
|
echo " "
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
"
|
|
||||||
|
|
||||||
function prompt_ps1_job_count()
|
function prompt_ps1_job_count()
|
||||||
{
|
{
|
||||||
@ -99,18 +105,12 @@ function prompt_ps1_svn_branch()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if [[ "${USER}" == "root" ]]; then
|
if [[ "${USER}" == "root" ]]; then
|
||||||
eval "function prompt_command_set_ps1()
|
PS1="$(ps-color bold white on-red)\$(prompt_ps1_exit_status_1)$(ps-color reset)\$(prompt_ps1_exit_status_2)$(ps-color bold red)\u@\H$(ps-color bold green) [\w]$(ps-color bold magenta) \d \t$(ps-color bold blue)\$(prompt_ps1_job_count \\j)\n\$ $(ps-color reset)"
|
||||||
{
|
|
||||||
PS1=\"$(ps-color bold red)\u@\H$(ps-color bold green) [\w]$(ps-color bold magenta) \d \t$(ps-color bold blue)\\\$(prompt_ps1_job_count \\j)\n\$ $(ps-color reset)\"
|
|
||||||
}"
|
|
||||||
else
|
else
|
||||||
eval "function prompt_command_set_ps1()
|
PS1="$(ps-color bold white on-red)\$(prompt_ps1_exit_status_1)$(ps-color reset)\$(prompt_ps1_exit_status_2)$(ps-color bold green)\u@\H$(ps-color bold red) [\w]$(ps-color bold magenta) \d \t$(ps-color bold blue)\$(prompt_ps1_job_count \\j)$(ps-color bold yellow)\$(prompt_ps1_git_branch)\$(prompt_ps1_svn_branch)$(ps-color bold blue)\n\$ $(ps-color reset)"
|
||||||
{
|
|
||||||
PS1=\"\$(prompt_ps1_exit_status)$(ps-color bold green)\u@\H$(ps-color bold red) [\w]$(ps-color bold magenta) \d \t$(ps-color bold blue)\\\$(prompt_ps1_job_count \\j)$(ps-color bold yellow)\$(prompt_ps1_git_branch)\$(prompt_ps1_svn_branch)$(ps-color bold blue)\n\$ $(ps-color reset)\"
|
|
||||||
}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PROMPT_COMMAND="prompt_command_set_ps1"
|
PROMPT_COMMAND="_last_exit_status=\$?"
|
||||||
|
|
||||||
case "$TERM" in
|
case "$TERM" in
|
||||||
[ax]term*|rxvt*)
|
[ax]term*|rxvt*)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user