如何创建自定义路径标识符?

如何创建自定义路径标识符?

要定义我所说的“自定义路径标识符”,我的意思是一组代表整个路径的短字符,例如~,如果您在终端仿真器中输入,cd ~它将转到您的主文件夹。但我想为不同的路径创建一个自定义的。我在.bashrc文件夹中寻找有关如何执行此操作的提示,但不幸的是我什么也没找到。


我尝试创建的“自定义路径标识符”是~~/home/myuser/Applications/Custom/Java/由于我将经常(并且每天都)使用该路径,因此我不想一直重新输入整个路径,只需输入~~即可。我尝试使用以下alias命令:

alias ~~="/home/myuser/Applications/Custom/Java/"

但不幸的是,这并没有起作用。


顺便说一句,如果我用错了术语,我深表歉意,我对 Linux 的所有知识都还很陌生,了解得很少。所以感谢您提供给我的任何额外信息。

答案1

波浪符号 ( ) 在 bash 中有特殊含义,是 bash 的扩展,可取环境变量~的值。阅读$HOME波浪号扩展请参阅 GNU Bash 参考手册中的部分来了解其工作原理。因此,我认为您想要完成的事情类似于:

myuser@ubuntu:~$ pushd -n "/home/myuser/Applications/Custom/Java"
~ ~/Applications/Custom/Java
myuser@ubuntu:~$ cd ~1
myuser@ubuntu:~/Applications/Custom/Java$

阅读man pushd更多信息。

接下来,/home/myuser/Applications/Custom/Java每次在终端中运行cd ~1命令时,只需在文件末尾添加以下行~/.bashrc

pushd -n "/home/myuser/Applications/Custom/Java" >/dev/null

使用重新加载您的~/.bashrc文件source ~/.bashrc,然后cd ~1在每次想要将当前工作目录更改为 时使用/home/myuser/Applications/Custom/Java

答案2

这非常简单,因为您不需要cd明确编写,您只需创建一个这样的别名:

alias x=/some/path

将其添加到您的.zshrc(或您在 zsh 启动时要引用的任何文件)即可开始。现在您可以通过调用别名(即x本例中的别名)跳转到此目录。

答案3

您可以使用 shell 选项"cdable_vars"

shopt -s cdable_vars

另外,看看CDPATH
以及 shell 选项"autocd"

有关工作原理的描述CDPATH,请参阅cdbash 手册页中的部分

man bash | less -p 'cd \['

bash该解决方案对和均有效zsh


如果你使用zsh,你可以使用全局别名在命令行的任何地方替换标识符,而不仅仅是作为命令。

答案4

你也可以像我一样自定义你的别名

alias work = "cd ~ && cd /home/anish/workspace" 

这也是更好的方法,假设你在某个目录中,你必须导航到不同的目录,这可能很容易

相关内容