Под влиянием g_p и Serg я попытался создать функцию в bash. Он работает, но я не уверен, что рекомендуется проверять команду ps каждую секунду, чтобы увидеть, является ли bash процессом fg или нет
prompttime() {
PSCOLGREEN="\[$(tput setaf 2)\]"
PSCOLRESET="\[$(tput sgr0)\]"
PS1="${PSCOLGREEN}\\$ ${PSCOLRESET}[--:--:-- \W] "
[ "$PROMPTCURRTTY" ] || {
PROMPTCURRTTYtemp=$(tty)
PROMPTCURRTTY=${PROMPTCURRTTYtemp//\/dev\//}
unset PROMPTCURRTTYtemp; }
PROMPTSTATE="[S]s+"
while :; do
sleep 1
[ "$(ps a | grep "${PROMPTCURRTTY}.*${PROMPTSTATE}.*$(basename $SHELL)")" ] &&
{ tput sc
tput hpa 3
echo -en "$(date +%T)"
tput rc; }
continue
done&
}