Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 定制ZSH tilde扩展 上下文_Linux_Shell_Zsh_Zsh Completion - Fatal编程技术网

Linux 定制ZSH tilde扩展 上下文

Linux 定制ZSH tilde扩展 上下文,linux,shell,zsh,zsh-completion,Linux,Shell,Zsh,Zsh Completion,这涉及ZSH瓷砖扩展(如中所示) 示例:~http扩展为/srv/http,它(大致)是/etc/passwd中设置的用户http的家 我想做什么 我想配置ZSH,以便获得我想要的任何文件名波浪形扩展 这类似于在my.zshrc中设置别名~foo/foo/bar 我不想要的 我可以创建(作为root用户)用户foo,并将其设置为/foo/bar,但由于任何用户都应该能够这样做,因此这种解决方案是不可接受的 此外,这与完成~到$HOME没有任何关系 杂项 这篇文章讨论了bash tilde扩展的本

这涉及ZSH瓷砖扩展(如中所示)

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

我想做什么 我想配置ZSH,以便获得我想要的任何文件名波浪形扩展

这类似于在my
.zshrc
中设置
别名~foo/foo/bar

我不想要的 我可以创建(作为root用户)用户
foo
,并将其设置为
/foo/bar
,但由于任何用户都应该能够这样做,因此这种解决方案是不可接受的

此外,这与完成
~
$HOME
没有任何关系

杂项 这篇文章讨论了bash tilde扩展的本质:

谢谢你的回答!;-)

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

  • hash-dfoo=/foo/bar
    ()
  • foo=/foo/bar/
现在,我们也可以使用
cd~foo
将当前目录更改为
/foo/bar

它在zsh中被称为



注意:当处于活动状态时,如果目录(
/foo/bar
,在本例中)存在,我们甚至可以执行
cd foo
,而不是上述示例中的
cd~foo

这听起来似乎更适合您,是对的。然而,看到stackoverflow上有许多zsh/bash问题,我就在这里提出了这个问题。我应该把它转到SU.com吗?你可能无法做到这一点——除非修补̀
zsh
的源代码。