要定义我所说的“自定义路径标识符”,我的意思是一组代表整个路径的短字符,例如~
,如果您在终端仿真器中输入,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
,请参阅cd
bash 手册页中的部分
man bash | less -p 'cd \['
bash
该解决方案对和均有效zsh
。
如果你使用zsh
,你可以使用全局别名在命令行的任何地方替换标识符,而不仅仅是作为命令。
答案4
你也可以像我一样自定义你的别名
alias work = "cd ~ && cd /home/anish/workspace"
这也是更好的方法,假设你在某个目录中,你必须导航到不同的目录,这可能很容易