有没有办法在输入命令后连接时间?例子:
user@machine$ date
11:50:41
Tue Jun 25 11:50:41 EEST 2019
当前的解决方法是\t\n
在用户名之前添加到 PS1,但这并不是我想要实现的,因为它可能是谎言,特别是当处理需要时间并且有很多输出时,例如,当 apt 在中断后运行时。
我的一个想法是捕获输入,read
但在打印时间后执行它。一个缺点是该命令随后会被第二次输入/打印。
长话短说:
PS1 并不像它应该的那样。
PS1="\W"
显示为\w█
块是闪烁的光标。文件夹名称只会在目录更改后出现。操作系统是 Debian 9.9 Stretch。我不太确定我在哪里犯了错误,并请其他人看一下并给出他们有根据的意见。
以下是我的.bashrc
:
RED='\[\033[31m\]'
BOLD_RED='\[\033[1;31m\]'
YELLOW='\[\033[33m\]'
GREEN='\[\033[32m\]'
BLUE='\[\033[01;34m\]'
BOLD_BLUISH='\[\033[01;32m\]'
NORMAL='\[\033[00m\]'
USR='\u'
TIME='\t'
PWD='\w'
DIR='\W'
RIGHTS='\$'
RESET='\[$(tput sgr0)\]'
if [ $(id -u) -eq 0 ]; then
PS1="$NORMAL\t·$BOLD_RED\u@\h$NORMAL·$GREEN$DIR·$NORMAL\$ $RESET"
else
PS1="$GREEN\t$NORMAL·$BOLD_BLUISH\u@\h$NORMAL·$BLUE$DIR$NORMAL·\$ $RESET"
fi