linux - 自定义 ZSH 波浪号扩展

标签 linux shell zsh zsh-completion

上下文

这涉及 ZSH 波浪线扩展(如 bash tilde expansion 中)。

示例:~http 扩展为 /srv/http,它(大致)是 中设置的用户 http 的主页/etc/密码

我想做什么

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

这类似于在我的 .zshrc 中设置 alias ~foo/foo/bar

我不想要的

可以创建(作为 root)用户 foo 并将它的主页设置为 /foo/bar 但是因为 any 用户应该可以做到这一点,这样的解决方案是 Not Acceptable 。

另外,这与~$HOME的补全无关。

杂项

这篇文章讨论了 bash 波浪线扩展的本质:Meaning of tilde in Linux bash (not home directory) .

感谢您的回答! ;-)

最佳答案

您可以使用其中一种(或两种)方式:

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

它被称为 “Static named directories”在 zsh 中。


注意:当CDABLE_VARS shell option是事件的,如果目录(/foo/bar 在这个例子中,我们甚至可以在上面的例子中做 cd foo 而不是 cd ~foo ) 存在。

关于linux - 自定义 ZSH 波浪号扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28729165/

相关文章:

linux - 哪个八进制值标志着 ubuntu 中程序的开始/为什么?

php - sh: 2: 1: 未找到 - 将多个 php 参数传递给 bash 脚本

regex - 如何匹配awk中变量中给定的模式?

shell - 包含 K、M、G、T 的总文件大小

shell - ZSH 在打开应用程序选项卡自动完成时挂起

linux - 输入 'ls' 命令时,我得到 'zsh: command not found: gls'

linux - glibc 文档和字节顺序

linux - 括号和 ips 之间的所有内容都解析失败

linux - 脚本 : Name a file with percentage 的完成百分比

shell脚本哈希表