繁体   English   中英

如何创建符号链接以在Mac OSx上的终端中打开目录?

[英]How to create a symlink to open a directory in Terminal on Mac osx?

我整天都在使用某些文件夹...例如,我的Documents文件夹中的“dev”。

我有一个明智的想法来设置符号链接,所以我可以简单地键入“dev”,终端将cd进入该目录。 这似乎不起作用。 我的两次尝试都在下面。

任何人都知道如何做到这一点还是有更好的方法?

ln -s /Users/kelly/Documents/Dev/ dev
ln -s 'cd /Users/kelly/Documents/Dev/' dev

$ dev
bash: dev: command not found

使用符号链接,您可以使用

ln -s your/dev/directory/ dev

但是你只能在你创建它的目录中以cd dev的形式使用它。

如果您只想在任何位置键入dev ,请使用别名:

alias dev="cd your/dev/direcrory/"

(这应该在你的~/.bashrc

您可以使用dev的alias 添加到$ {HOME} /.bashrc

 alias dev='cd /Users/kelly/Documents/Dev/' 

和bash在别名中正确解析~

 alias dev='cd ~/Documents/Dev/' 

使用别名根本不需要符号链接。

你必须在你的情况下编写cd dev ,但是你可能更好地使用bash别名 ......

写入$HOME/.bash_aliases文件:

alias dev='cd /Users/kelly/Documents/Dev/'

打开一个新的终端执行dev会给你,你想要的...

在$ 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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM