我过去在csh中有一个cd
的别名,它可以在cmd行开头显示当前时间和目录,并触发ls
命令。效果如下:
[10:24] /home/cambridgelv/Desktop/cd ..
Desktop Documents Downloads Music
[10:24] /home/cambridgelv/cd Desktop
abc.doc def.jpg
[10:25] /home/cambridgelv/Desktop/
有人知道吗?
让我自己回答吧。我想也许我之前把set prompt
命令别名到cd中了,所以我们可以单独做这个。参考这个答案:https://stackoverflow.com/a/33037878/11768989您可以以任何方式自定义提示符。我的是这样的:
set prompt = '%{e[35;40;1m%}[%T @%m]%{e[0m%} %~/'
alias cd "cd !:1; ls"
最简单的方法是挂钩到特殊的cwdcmd
别名;每次当前目录更改时,都会运行此命令。
alias cwdcmd 'printf "[%s] " `date +%H:%m`'
例如,其中>
是提示符:
> sleep 1
> cd /
[14:06] > sleep 1
> cd ~
[14:06] >
您也可以将cd
别名为:
alias cd 'cd $* && printf "[%s] " `date +%H:%m`'
其中$*
展开为cd /dir
中的命令参数/dir
。但是,由于某些我不太理解的原因,这也会在方括号中打印目录。cwdcmd
别名更好。