
在这个系列的第一部分,我们具体地评论辩论了 cd - 敕令,在第二部分,我们深刻商量了 pushd 和 popd 两个敕令,以及它们应用的场景。
持续对敕令行的评论辩论,在这篇教程中,我们将会经由过程简单易懂的实例来评论辩论 CDPATH 这个情况变量。我们也会评论辩论关于此变量的一些进阶细节。
在这之前,先声明一下此教程中的所有实例都已经在 Ubuntu 14.04 和 4.3.11(1) 版本的 Bash 下测试过。
情况变量 CDPATH
即使你的敕令行所有操作都在特定的目次下 - 例如你的主目次,然而在你切换目次时也不得不供给绝对路径。比如,推敲我如今的情况,就是在 /home/himanshu/Downloads 目次下:
- $ pwd/home/himanshu/Downloads
- export CDPATH=".:/home/himanshu"
如今请求切换至 /home/himanshu/Desktop 目次,我一般会如许做:
或者
你已经可以或许闇练地应用 CDPATH 了吗?你有更多的贴士要分享?请在评论区里揭橥一下你的设法主意吧。
- cd ~/Desktop/
情况变量中,路径出现的次序同样也是很重要。举个例子,如不雅当前目次是在 /home/himanshu 目次之前列出来,cd 敕令就会先搜刮当前的工作目次然后才会搜刮 /home/himanshu 目次。然而,如不雅该值为 /home/himanshu:.,搜刮就起首大年夜 /home/himanshu 开端,然后到当前目次。不消说,这会影响 cd 敕令的行动,并且不留意路径的次序可能会导致一些麻烦。
或者
- cd ../Desktop/
能不克不及只是运行以下敕令就能简单地实现呢:
- cd Desktop
是的,这完全有可能。这就是情况变量 CDPATH 出现的时刻了。你可应用这个变量来为 cd 敕令定义基本目次。
- $ echo $CDPATH
如今 ,推敲到膳绫擎提到的场景,我们应用这个情况变量,将 /home/himanshu 作为 cd 敕令的基本目次来应用。
最简单的做法如许:
- export CDPATH=/home/himanshu
如今,我能做到之前所不克不及做到的事了 - 当前工作目次在 /home/himanshu/Downloads 目次里时,成功地运行了 cd Desktop 敕令。
- $ pwd
- /home/himanshu/Downloads
- $ cd Desktop/
- /home/himanshu/Desktop
- $
这注解了我可以应用 cd 敕令来达到 /home/himanshu 下的随便率性一?目次,而不须要在 cd 敕令中显式地指定 /home/himanshu 或者 ~,又或者是 ../ (或者多个 ../)。
要点
如今你应当知道了如何应用情况变量 CDPATH 在 /home/himanshu/Downloads 和 /home/himanshu/Desktop 之间轻松切换。如今,推敲以下这种情况, 在 /home/himanshu/Desktop 目次里包含一个名字叫做 Downloads 的子目次,这是将要切换到的目次。
但忽然你会心识到 cd Downloads 会切换到 /home/himanshu/Downloads。所以,为了确保这不会产生,你可以如许做:
- cd ./Downloads
固然上述敕令本身没有问题,但你照样须要消费点额外的精力(固然很小),尤其是每次这种情况产生时你都不得不如许做。所以,有一个加倍优雅的解决筹划来处理,就是以如下方法来设定 CDPATH 情况变量。
如不雅你测验测验打印它的值,你会看见这个情况变量默认是空值的:
它的意思是告诉 cd 敕令先在当前的工作目次查找该目次,然后再测验测验搜寻 /home/himanshu 目次。当然, cd 敕令是否以如许的方法运行,完全取决于你的偏好和请求 - 评论辩论这一点的目标是为了让你知道这种情况可能会产生。
持续说,如不雅一个 bash 脚本以相对路径应用 cd 敕令,最好照样先清除或者重置情况变量 CDPATH,除非你认为赶上弗成猜测的麻烦也无所谓。还有一个可选的办法,比起在终端应用 export 敕令来设置 CDPATH,你可以在测试完当前的 shell 是交互式照样非交互式之后,再在你的 .bashrc 文件里设置情况变量,如许可以确保你对情况变量的修改只短诨互式 shell 生效。
要切记在心的是,情况变量 CDPATH,就像其名字表达的,只对 cd 敕令有感化。意味着在 /home/himanshu/Downloads 目次琅绫擎时,你能运行 cd Desktop 敕令来切换到 /home/himanshu/Desktop 目次,但你不克不及应用 ls。以下是一个例子:

网友点评
精彩导读
科技快报
品牌展示