作家
登录

Linux命令行工具使用小贴士及技巧(三)

作者: 来源: 2017-04-10 15:04:19 阅读 我要评论

Linux敕令行对象应用小贴士及技能

在这个系列的第一部分,我们具体地评论辩论了 cd - 敕令,在第二部分,我们深刻商量了 pushd 和 popd 两个敕令,以及它们应用的场景。

持续对敕令行的评论辩论,在这篇教程中,我们将会经由过程简单易懂的实例来评论辩论 CDPATH 这个情况变量。我们也会评论辩论关于此变量的一些进阶细节。

在这之前,先声明一下此教程中的所有实例都已经在 Ubuntu 14.04 和 4.3.11(1) 版本的 Bash 下测试过。

情况变量 CDPATH

即使你的敕令行所有操作都在特定的目次下 - 例如你的主目次,然而在你切换目次时也不得不供给绝对路径。比如,推敲我如今的情况,就是在 /home/himanshu/Downloads 目次下:

  1. $ pwd/home/himanshu/Downloads 
  1. export CDPATH=".:/home/himanshu" 

如今请求切换至 /home/himanshu/Desktop 目次,我一般会如许做:

或者

你已经可以或许闇练地应用 CDPATH 了吗?你有更多的贴士要分享?请在评论区里揭橥一下你的设法主意吧。

  1. cd ~/Desktop/ 

情况变量中,路径出现的次序同样也是很重要。举个例子,如不雅当前目次是在 /home/himanshu 目次之前列出来,cd 敕令就会先搜刮当前的工作目次然后才会搜刮 /home/himanshu 目次。然而,如不雅该值为 /home/himanshu:.,搜刮就起首大年夜 /home/himanshu 开端,然后到当前目次。不消说,这会影响 cd 敕令的行动,并且不留意路径的次序可能会导致一些麻烦。

或者

  1. cd ../Desktop/ 

能不克不及只是运行以下敕令就能简单地实现呢:

  1. cd Desktop 

是的,这完全有可能。这就是情况变量 CDPATH 出现的时刻了。你可应用这个变量来为 cd 敕令定义基本目次。

  1. $ echo $CDPATH 

如今 ,推敲到膳绫擎提到的场景,我们应用这个情况变量,将 /home/himanshu 作为 cd 敕令的基本目次来应用。

最简单的做法如许:

  1. export CDPATH=/home/himanshu 

如今,我能做到之前所不克不及做到的事了 - 当前工作目次在 /home/himanshu/Downloads 目次里时,成功地运行了 cd Desktop 敕令。

  1. $ pwd 
  2. /home/himanshu/Downloads 
  3. $ cd Desktop/ 
  4. /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。所以,为了确保这不会产生,你可以如许做:

  1. 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。以下是一个例子:

  1. $ pwd 
  2. /home/himanshu/Downloads 
  3. $ ls Desktop 
  4. ls: cannot access Desktop: No

      推荐阅读

      专访李开复:十年后50%人工作将被AI取代

    作为曾经活泼收集的看法领袖,李开复自2014生病以来开端变得低调。“和创颐魅者一路工作,抽出更多时光陪伴家人、同伙。经历宿疾后,本身的心态、人生不雅、对社会的认知都产生了变更。”李开复向腾讯科技>>>详细阅读


    本文标题:Linux命令行工具使用小贴士及技巧(三)

    地址:http://www.17bianji.com/lsqh/34684.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)