使用popd,pushd获取目录堆栈中不同目录路径的引用

贾斯汀·约翰逊(Justin Johnson)

我正在研究一个脚本,用于在工作中自动化构建过程。我正在使用push和popd进行跟踪,并导航回目录堆栈。有没有一种方法可以获取目录堆栈中某个索引的引用路径?例如,我将在树上导航,并在移动时将目录推入堆栈。最终,我想找到一个文件,并将其移动到堆栈上的目录路径之一。我最初尝试做“ mv file.txt popd”,但是当然所有这一切都是更改file.txt的名称。

简而言之,如何获得对目录堆栈中路径的引用?

大卫·Z

dirs当以dirs +N调用时,命令可以在目录堆栈的指定索引处显示条目dirs -N,其中N数字是。如果要将其用作命令的参数,则需要命令替换,例如mv file.txt "$(dirs +2)"

请注意,默认情况下,对于目录堆栈中主目录中的任何条目,都将dirs使用它~代替主目录路径来打印出来但是,解析命令时,bash所做的命令替换后的波浪线扩展,因此它不会取代~由印刷dirs用的路径,你的主目录的命令。要解决此问题,您首先需要提供防止它打印主目录-l选项(感谢贾斯汀注意到这一点)dirs~

您可以dirs通过运行help dirs或通过在手册页中查找bash(大约四分之三的位置)来获得有关操作的完整详细信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章