我正在寻找一种方法来改变cd的默认目录,我想知道这是否可行.我尝试添加
alias "cd=cd ~/Documents/Github"
到.bashrc,但这显然不起作用,因为它打破了cd命令,因此除了转到该目录之外你不能使用cd.是否有一些导出我可以放入.bashrc来执行此操作?我不想更改我的主目录,只是默认目录cd转到.我问,因为我经常使用cd来更改我正在编程的默认目录,并且不希望每次我想要更改到目录〜/ workspace时键入cd~ / workspace或cd然后cd工作区.
解决方法:
这是使用别名的更简单的替代方法:
alias cd='HOME=~/Documents/Github cd'
>虽然这重新定义了$HOME,但它仅用于cd命令,因此应该是安全的(*).
>这也消除了对任何自定义参数预解析的需要.
如果将其放在〜/ .bashrc中,您应该得到所需的行为.
请注意,默认情况下,此别名在脚本(非交互式shell)中不起作用,因为默认情况下禁用别名扩展(使用shopt -s expand_aliases显式启用).
(*)@chepner指出一个限制:使用别名你将无法做HOME = / somewhere / else cd,即你将无法重新定义(覆盖)$HOME,ad-特别.然而,正如他进一步指出的那样,很难想象为什么有人会想这样做.
标签:bash,linux,terminal,cd
来源: https://codeday.me/bug/20190713/1454136.html