bash概要文件别名';测试';
我的bash配置文件中有一个别名,如下所示:bash概要文件别名';测试';,bash,git,macos,Bash,Git,Macos,我的bash配置文件中有一个别名,如下所示: alias test='cd/Usr/work/dir/test' 每次我尝试在终端中使用bash completion for git时,它都会: 点击标签后立即冻结终端 带我去那个目录 一旦我删除了别名bash,git的completion就可以正常工作了。为什么 git版本2.26.2 GNUBash,版本3.2.57(1)-发布(x86_64-apple-darwin19) 版权(C)2007免费软件基金会, < P>代码>测试是一个内置命令
alias test='cd/Usr/work/dir/test'
每次我尝试在终端中使用bash completion for git时,它都会:
版权(C)2007免费软件基金会, < P>代码>测试是一个内置命令,创建一个别名为“代码>测试<代码>阴影,这可能导致不可预见的问题。选择一个不同的名字
alias goto_test='cd /Usr/work/dir/test'
然而,这可能是最不理想的解决方案。首先,考虑使用一个函数代替:
goto_test () {
cd /Usr/work/dir/test
}
其次,您可以将/Usr/work/dir
添加到CDPATH
变量中,这样您就可以快速切换到任何子目录,而不必使用整个路径
$ CDPATH=/Usr/work/dir
$ cd test
/Usr/Work/dir
$ pwd
/Usr/Work/dir/test
如果有多个目录可以切换到,则无需定义多个别名或函数。
test
是一个内置命令,创建名为test
的别名会将其隐藏起来,这可能会导致不可预见的问题。选择一个不同的名字
alias goto_test='cd /Usr/work/dir/test'
然而,这可能是最不理想的解决方案。首先,考虑使用一个函数代替:
goto_test () {
cd /Usr/work/dir/test
}
其次,您可以将/Usr/work/dir
添加到CDPATH
变量中,这样您就可以快速切换到任何子目录,而不必使用整个路径
$ CDPATH=/Usr/work/dir
$ cd test
/Usr/Work/dir
$ pwd
/Usr/Work/dir/test
如果有多个目录可以切换到,则无需定义多个别名或函数。此外,不要使用别名。它们在1996年之前就已经过时了。使用函数。另外,不要使用别名。它们在1996年之前就已经过时了。使用函数。