56 lines
965 B
Bash
56 lines
965 B
Bash
[ "$(cat /proc/$$/comm)" = "bash" ] || return
|
|
|
|
# completion
|
|
|
|
file="/usr/share/bash-completion/bash_completion"
|
|
|
|
if [ -f "${file}" ]; then
|
|
. "${file}"
|
|
fi
|
|
|
|
# history
|
|
|
|
HISTCONTROL="ignorespace"
|
|
|
|
HISTSIZE=-1
|
|
|
|
HISTTIMEFORMAT="%Y%m%d %H%M%S "
|
|
|
|
# prompt
|
|
|
|
ps1() {
|
|
local date host
|
|
local code="${1}"
|
|
date="$(date +%H:%M:%S)"
|
|
local git
|
|
host="$(hostname)"
|
|
local path="${PWD}"
|
|
local user="${USER}"
|
|
local view="└ "
|
|
if [ "${code}" -ne 0 ]; then
|
|
view="${view}\e[0;31m"
|
|
else
|
|
view="${view}\e[0;32m"
|
|
fi
|
|
view="${view}${code}\e[0m @ \e[0;33m${date}\e[0m"
|
|
if [ "$(type -t __git_ps1)" == "function" ]; then
|
|
git="$(__git_ps1)"
|
|
if [ -n "${git}" ]; then
|
|
view="${view} –\e[0;35m${git}\e[0m"
|
|
fi
|
|
fi
|
|
view="${view}\n\e[0;36m${path}\e[0m"
|
|
view="${view}\n┌ "
|
|
if [ ${EUID} -eq 0 ]; then
|
|
view="${view}\e[0;31m"
|
|
else
|
|
view="${view}\e[0;32m"
|
|
fi
|
|
view="${view}${user}\e[0m @ \e[0;33m${host}\e[0m"
|
|
echo -e "${view}\n${PS2}"
|
|
}
|
|
|
|
PS1="\$(ps1 \${?})"
|
|
|
|
PS2="\
|
|
├ "
|