有些文件夹我整天都在播放...例如," dev"这是在我的Documents文件夹中。
我有一个明智的想法来设置符号链接,所以我只需输入" dev"和终端将进入该目录。这似乎不起作用。我的两次尝试都在下面。
任何人都知道如何做到这一点还是有更好的方法?
ln -s /Users/kelly/Documents/Dev/ dev
ln -s 'cd /Users/kelly/Documents/Dev/' dev
$ dev
bash: dev: command not found
答案 0 :(得分:7)
使用符号链接,您可以使用
ln -s your/dev/directory/ dev
但您只能在您创建的目录中以及cd dev
的形式使用它。
如果您只想在任何时候键入dev
,请使用别名:
alias dev="cd your/dev/direcrory/"
(这应该在你的~/.bashrc
)
答案 1 :(得分:2)
你可以使用alias
代替开发者。添加到$ {HOME} /.bashrc
alias dev='cd /Users/kelly/Documents/Dev/'
和bash在别名中正确解析~
:
alias dev='cd ~/Documents/Dev/'
使用别名根本不需要符号链接。
答案 2 :(得分:1)
您必须在案例中写cd dev
,但最好使用bash aliases ...
写入$HOME/.bash_aliases
文件:
alias dev='cd /Users/kelly/Documents/Dev/'
打开执行dev
的新终端后,会给你,你想要的......
答案 3 :(得分:1)
在$ HOME / .bashrc中,声明一个将目录映射到别名的数组。
declare -A __diraliasmap=(
[dev]="/Users/kelly/Documents/Dev"
[other]="/Users/kelly/Documents"
)
还定义了command_not_found_handle函数。如果已定义,则在找不到命令时,此函数将由bash运行。在该函数中,检查失败的命令是否列为目录的别名,如果是,则cd到相关目录。
command_not_found_handle()
{
if [[ ${__diraliasmap[$1]+set} = set ]]; then
builtin cd "${__diraliasmap[$1]}"
else
false
fi
}