微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

shell – Unix终端,“cd ..”表示特定数量的目录

假设我们有这个目录结构:

/home/myuser/dir_1/sub_1/sub_2/sub_3

我想从sub_3遍历到dir_1,我需要做的是

cd ../../..

我的问题是,是不是有更短的东西?
我的意思是:

cd -t 3

在哪里可以告诉shell你想要返回多少个目录.

解决方法

使用printf构建路径然后cd到它:

cdup() {
    # $1=number of times,defaults to 1
    local path
    printf -v path '%*s' "${1:-1}"
    cd "${path// /../}"
}

用于:

cdup 4 # to go up four directories
cdup 1 # to explicitly go up one directory
cdup   # to implicitly go up one

不管N有多大,都有一次调用cd的好属性.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐