簡體   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