3

语境

这涉及 ZSH 波浪号扩展(如bash 波浪号扩展)。

示例:~http扩展/srv/http为(大致)用户http在 中设置的家/etc/passwd

我想做的事

我想配置 ZSH 以获得我希望的任何文件名波浪号扩展。

就像alias ~foo /foo/bar我的.zshrc.

我不想要什么

可以创建(以 root 身份)用户foo并将其设置为主页,/foo/bar但由于任何用户都应该能够做到这一点,因此这样的解决方案是不可接受的。

~此外,这与to的完成无关$HOME

杂项

这篇文章讨论了bash波浪号扩展的性质:Linux bash (not home directory) 中波浪号的含义

感谢您的任何回答!;-)

4

1 回答 1

4

您可以使用任何一种(或两种)方式:

现在,我们也可以使用cd ~foo将当前目录更改为/foo/bar

它在 zsh 中称为“静态命名目录”</a>。


注意:当CDABLE_VARSshell 选项处于活动状态时,如果目录(在本例中)存在,我们甚至可以做cd foo而不是cd ~foo在上面的例子中。/foo/bar

于 2015-02-26T00:08:31.510 回答