Linux csh中cd的别名



我过去在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别名更好。

相关内容

  • 没有找到相关文章

最新更新