命令的作用类似于〜(波形符)符号来表示某个目录

命令的作用类似于〜(波形符)符号来表示某个目录

cd ~/scripts。这将进入我家的脚本目录。与此类似,我想要一些“别名”类型的设置,这将允许我进入其他目录,以便 cd xxx/mywork-> 将进入“mywork”目录/home/work/software。我想将命令设置xxx/home/work/software.

答案1

我不知道你使用的是什么 shell,但zsh对此有内置支持。它被称为命名目录

要进行设置,请将如下代码添加到 .zshrc:

mywork=/home/work/software  #set variable
: ~mywork    #Reference variable with a tilde in a no-op statement

然后你可以在命令行中使用它,如下所示:

$ cd ~mywork

或这个:

$ cd ~mywork/sub/directories

有关设置此语法的方式/原因的完整说明可以在此处找到:命名目录

答案2

听起来设置CDPATH可以让你接近你所要求的:

cd

    cd [-L|[-P [-e]] [-@] [directory]

    Change the  current working directory to  directory.  [...] If
    the shell variable CDPATH exists, it is used as a search path:
    each directory name in CDPATH  is searched for directory, with
    alternative  directory names  in CDPATH  separated by  a colon
    (‘:’).  If directory begins with a slash, CDPATH is not used.

这样,如果您在/home/workCDPATH,那么cd software就会让您进入/home/work/software

如果您需要更接近特定问题的内容,也许设置一个带有符号链接的目录并放置该目录会更好。例如,mkdir ~/.links,然后CDPATH=~/.links,然后在 内部创建到的 ~/.links符号链接。那么应该送你到那里。mywork/home/work/softwarecd mywork

答案3

这并不完全是您所要求的,但您可能想看看Z(适用于bashzsh)它根据“频率”跟踪您最常用的目录,并让您跳转。

在你的例子中,它会是这样的:

z software

它可能会将目录更改为:

 /home/work/software

答案4

我想这个实用程序可能就是您正在寻找的: http://micans.org/apparix/

相关内容