Dop*_*oti 15
在您的主目录中创建一些符号链接:
ln -s /opt/really/long/obnoxiously/long/path/to/some/projectname
Run Code Online (Sandbox Code Playgroud)
此命令将创建一个projectname在您的主目录中调用的链接,您可以进入该链接cd,并且一切都会正常运行。
Ste*_*itt 14
z是一个非常好的“插件”,用于bashor zsh(它包含在Oh My Zsh 中),它跟踪您cd访问的目录,并允许您根据您使用它们的频率使用部分名称快速切换到目录。
所以过一会儿,它就会知道
z git-repo
Run Code Online (Sandbox Code Playgroud)
应该cd到git-repo您最常使用的目录。你可以用路径的一部分来限定它,例如
z d git-repo
Run Code Online (Sandbox Code Playgroud)
甚至
z d git
Run Code Online (Sandbox Code Playgroud)
我发现这比别名更有用,甚至CDPATH因为它可以自行学习并适应我不断变化的习惯。
进入目录后,您可以执行以下操作:
repo=`pwd`
Run Code Online (Sandbox Code Playgroud)
后来你做
cd $repo
Run Code Online (Sandbox Code Playgroud)
如果你想下次保留它,你可以这样做:
echo "export repo=`pwd`" >> ~/.profile
Run Code Online (Sandbox Code Playgroud)
只是提到另一个有用的工具,有pushd内置的。和
$ pushd dirname
Run Code Online (Sandbox Code Playgroud)
当前目录将被推送到目录堆栈上(您可以使用 来查看该堆栈dirs)并且当前目录将更改为dirname. 您可以稍后使用popd内置命令更改回最新的(堆栈中的最顶部)目录。
这应该至少适用于 bash、zsh、csh 和 tcsh。
如果您只想更改到之前所在的目录,cd -来帮助您。
这就是我要做的;在~/.bashrc(如果使用 Bash)中创建别名:
alias thatgitrepo='cd /opt/a/b/c/d/e/f/g/git-repo'
Run Code Online (Sandbox Code Playgroud)
并用于source .bashrc拥有当前 shell 的别名。