我在多个其他文件夹中的文件夹中有一个git repo。当我想使用git的命令行时,我必须执行cd /Desktop/.../.../.../.../repo_folder
来执行git命令。他们是否可以设置文件夹的快捷方式或更快地访问文件夹,因为必须输入70个字符的长路径并不理想
先谢谢!
答案 0 :(得分:3)
您可以使用cdable_vars
的{{1}}选项,该选项允许您使用变量名称调用bash
。如果传递给cd
的参数不是目录,则假定它是变量名,并且变量的值用作目标目录。
使用示例:如果您将其放在cd
:
~/.bashrc
然后,当您的当前目录是您想要记住的目录时,只需输入:
alias show='cat ~/.dirs'
save () {
here=`pwd`
if (( $# == 0 )); then
name=`basename $here`
elif (( $# > 1 )); then
echo "usage: save [<name>]"
return -1
else
name=$1
fi
sed -i -e "/^$name=/d" ~/.dirs
echo "$name=\"$here\"" >> ~/.dirs
source ~/.dirs
}
source ~/.dirs
shopt -s cdable_vars
,下次你想去那里时,只需输入:
save my_dir
只要您输入cd my_dir
目录,就会将其带到您想要的位置。 my_dir
参数是可选的。如果您不提供,则定义的简写将是当前目录的基本名称:
save
将cd /Desktop/../../../../repo_folder
save
定义为此目录的简写。
repo_folder
文件包含您喜欢的目录的变量定义。如果您愿意,可以手动编辑。每次启动新的~/.dirs
shell时都会评估这些定义。请注意,他们可能会覆盖您还需要的其他人。如果这是一个问题,我建议您选择独特的短手(bash
而不是my_dir_repo_folder
)。当你输入:
repo_folder
如果有本地子目录cd foo
,您可以转到本地子目录foo
,也可以转到您定义foo
短手的目录。还有第三个:如果你重新定义一个简短的手,那么前一个被覆盖。所以,这个技巧很方便,但有点危险,因为当你cd
时,你不知道你是否真的想去的地方。自定义提示以显示当前路径可能是一个好主意。
show
别名只是列出所有当前定义的短手的方法。
答案 1 :(得分:0)