在 Linux 中,当须要 cd 到多层的下级目录时,须要输出 cd ../../../ 等等多个 “../”。
在输出比拟快的时候,往往两头会多输出一个点号 ‘.’、或者少输出一个点号 ‘.’,须要往前删除,从新输出。
而在理论开发工作中,特地是进行 Android 零碎开发工作时,源代码目录可能会有多级子目录。
当进入到目录构造十分深的子目录时,想要返回到特定的多层下级目录,须要手动输出多个 “../”,十分麻烦,也很容易输错。
为了简化输出,缩小输出出错的状况,本篇文章介绍一个名为 cdup.sh 的 shell 脚本。
该脚本接管一个整数参数,指定要返回到几层的下级目录,能够十分不便地返回到多层下级目录,进步工作效率。
例如,执行 source cdup.sh 5 命令,等价于执行 cd ../../../../../ 命令。
所给的数字 5 指定要返回到第 5 层下级目录。
前面会介绍如何设置命令别名来防止输出 source cdup.sh 这些字符,能够简化成 up 5 这样的输出即可。
因为 shell 脚本默认运行在子 shell 外面,而 cd 命令只能扭转以后 shell 的工作目录。
所以在 shell 脚本外面执行 cd 命令不能扭转父 shell 的工作目录。
为了让脚本执行完结后,还放弃在 cd 后的目录,须要用 source 命令来执行 shell 脚本。
应用 source 命令执行 shell 脚本,会运行在以后 shell 下,而不是运行在子 shell 外面。
脚本代码
列出 cdup.sh 脚本的具体代码如下所示。
在这个代码中,对大部分要害代码都提供了具体的正文,不便浏览。
这篇文章的前面也会对一些关键点进行阐明,有助了解。
#!/bin/bash
# 当要 cd 到多层的下级目录时,须要输出 cd ../../../ 等等多个 "../".
# 为了简化输出,以后脚本能够解决一个整数参数,指定返回到几层的下级目录.
# 例如 source cdup.sh 3 等价于 cd ../../../
# 为了让脚本执行完结后,还放弃在 cd 后的目录,须要用 source 命令
# 来执行该脚本. 能够在 ~/.bashrc 文件中增加如下别名来不便执行:
# alias up='source cdup.sh'