我正在研究一个脚本,用于在工作中自动化构建过程。我正在使用push和popd进行跟踪,并导航回目录堆栈。有没有一种方法可以获取目录堆栈中某个索引的引用路径?例如,我将在树上导航,并在移动时将目录推入堆栈。最终,我想找到一个文件,并将其移动到堆栈上的目录路径之一。我最初尝试做“ mv file.txt popd”,但是当然所有这一切都是更改file.txt的名称。
简而言之,如何获得对目录堆栈中路径的引用?
dirs
当以dirs +N
或调用时,该命令可以在目录堆栈的指定索引处显示条目dirs -N
,其中N
数字是。如果要将其用作命令的参数,则需要命令替换,例如mv file.txt "$(dirs +2)"
。
请注意,默认情况下,对于目录堆栈中主目录中的任何条目,都将dirs
使用它~
代替主目录路径来打印出来。但是,解析命令时,bash所做的命令替换后的波浪线扩展,因此它不会取代~
由印刷dirs
用的路径,你的主目录的命令。要解决此问题,您首先需要提供防止它打印主目录的-l
选项。(感谢贾斯汀注意到这一点)dirs
~
您可以dirs
通过运行help dirs
或通过在手册页中查找bash(大约四分之三的位置)来获得有关操作的完整详细信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句