Zsh

如何為 zsh 創建連字元別名?

  • October 15, 2015

我在 Ubuntu 上使用zshoh-my-zsh

要更改到過去的最近目錄,有一個別名設置為-cd -. 不知何故,別名在我的機器上消失了。這可能是由於我從oh-my-zsh儲存庫中提取的更新而發生的。

現在,我想將此別名添加到我自己的點文件中。我怎樣才能做到這一點?

此送出中刪除了別名。

要將其添加回來:

alias -- -='cd -'

大多數 POSIX shell 需要--這個別名工作,只是dash不需要:

$ dash
$ alias -='echo 1'
$ -
1

與任何其他命令一樣,用於--指示命令以開頭的後續參數-不是選項。

alias -='cd -'

您可能更喜歡創建-一個函式,以便在它有參數時給它一些用處。在 zsh 中,-是一個前置命令修飾符,它執行一個附加-到第零個參數的命令。(當然,這有點晦澀難懂,ARGV0 variablealias可以function使用function -.

function - {
 if [[ $# -eq 0 ]]; then
   cd "$OLDPWD"
 else
   builtin - "$@"
 fi
}

(或者你想做- foo的任何事情。)

引用自:https://unix.stackexchange.com/questions/236116