这个别名在Red Hat Linux中有什么作用?

时间:2017-03-06 02:52:41

标签: rhel csh

cd = 'cd !* ;set prompt="! $host `dirs` % "'

这个别名在我常用的Red Hat Enterprise Linux服务器上,我无法弄清楚它对我有什么作用。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我认为这是为了更改目录并在提示中显示以前的目录。 !*是一个bash历史扩展,意味着前一个命令没有第一个单词。例如。如果上一个命令是cd project,则!*project。请参阅man bash中的“历史记录扩展”部分,更具体地说,请here

dirs只显示目录堆栈,内置bash,详见链接。

但是,在标准bash中,您使用的是export PS1=...而不是set prompt=,因此别名的作者可能会将其用于csh而不是bash例如见here。历史扩展!*具有相同的语义,例如有关tcsh的信息,请参阅here

答案 1 :(得分:0)

在csh别名中,!*是命令收到的输入,例如
alias + emacs \!* &并运行+ somefile将使用emacs打开somefile并将其移至后台 现在到您的行 - 它将目录更改为您提供的任何内容(!*)并将提示(在写入区域之前写入终端的行)设置为主机名,路径(作为pwd)和%< / p>

快速注意 - 注意我的别名行中的\ - 您必须在别名中转义特殊字符并注意this