sh/shell/shell.sh
2024-11-16 01:41:42 +01:00

57 lines
1,009 B
Bash

SH="$(cat /proc/$$/comm)"
case "${SH}" in
"bash")
# 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 "
;;
*)
;;
esac
# prompt
ps1() {
local date host id
local code="${1}"
date="$(date +%H:%M:%S)"
local git
host="$(hostname)"
id="$(id --user)"
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 [ "${id}" -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="\
├ "