我正在使用 zsh 并且我已将其别名..
为。当且仅当输入的路径是或 的重复时,cd ..
我才希望 zsh转到路径。cd
..
../
以下应该自动cd
:
..
../
../../../../
../../..
这些不应该自动cd
:
../../mydir
mydir
/dir
我如何配置 zsh(也许还有 bash)以使其自动cd
如此?
答案1
您可以使用“DEBUG”陷阱拦截命令,例如模拟“autocd”:
TRAPDEBUG() {
if [[ "$ZSH_DEBUG_CMD" =~ ^\\.\\.(/\\.\\.)*/?$ ]]; then
: "Emulate autocd"
cd "$ZSH_DEBUG_CMD"
echo "Now in $PWD"
: "Cancel the original command"
set -e
fi
}