首页 > 解决方案 > 是否有任何更短的语法可以使用 bash cd 更改多个目录级别?

问题描述

如果我需要更改到几个级别的某个目录,我通常在 bash 中执行此操作:

cd ../../../../some/other/folder

由于输入所有这些句点和斜线非常烦人,我想知道是否有一些更短的方法来输入它;例如:

cd ..4/some/other/folder

例如,到目前为止,我还没有找到它cd --help

标签: bashcd

解决方案


没有标准的方法。

您可以声明一个函数,它将多个父目录作为第一个参数,并将相对路径作为第二个参数:

cdu () {
    local n=$1
    local p=""
    while ((n--)) ; do
        p+=../
    done
    cd "$p/$2"
}

然后你可以缩短cd ../../../bincdu 3 bin

我用的是

alias ..='cd ..'
alias ...='cd ../..'

要升级 6 级,我只需键入...+Enter三次。


推荐阅读