tcsh shell 和变量参数别名

tcsh shell and variable argument alias

我使用 tcsh shell 并且我无法更改为另一个 shell。

我正在尝试创建一个别名以快速 cd 到我的项目中。 我的主目录如下所示:

/home/projects/proj1

/home/projects/proj2
...
/home/stuff/stuff1

如果我在 stuff 1 目录中工作并想快速导航到我的项目,我创建了一个别名,如下所示:

alias P 'cd /home/projects && cd ./\!:1'

这样我就可以输入 'P proj1' 到达那里

但是,有时我想导航到 /home/projects 目录而不是特定项目,我认为只需键入 'P'(不带参数)就可以到达那里,但我得到的是 "Bad ! arg selector"。我如何创建别名来处理零个或多个参数?

谢谢

这个有效:

alias P 'cd /home/projects/\!*'

如果你传递一个参数,它会附加到路径的末尾,否则 !* 什么都不会被替换。