我非常喜欢使用 bash 的 Pushd、popd 和 Dirs 程序集。然而,我经常使用它,以至于目录列表变得很难阅读。
如果我能让 dirs 操作除了默认主目录 ~ 之外还使用别名,那就太好了。例如,如果我在 ~/Documents/MyBaseDir/MyCodeCheckout 的子目录中移动很多,那么而不是...
user1> dirs
~/Documents/MyBaseDir/MyCodeCheckout/src/main/resource, ~/Documents/MyBaseDir/MyCodeCheckout/src/test/java/testdir1
...我想让dirs(以及pushd和popd)显示类似的内容:
user1> dirs
~code1/src/main/resource, ~code1/src/test/java/testdir1
请注意,在这篇文章中,后一个输出甚至不需要滚动条。在典型的命令提示符窗口中,它会显着减少换行,这很难破译。
我最近发现 dirs 命令的 -v 标志,这使得上面的输出看起来像这样:
user1> dirs -v
0 ~/Documents/MyBaseDir/MyCodeCheckout/src/main/resource
1 ~/Documents/MyBaseDir/MyCodeCheckout/src/test/java/testdir1
这就足够了,我可以通过使用以下命令默认获得此行为:
alias dirs='dirs -v'
唯一的缺点是我找不到一种方法让 Pushd 或 Popd 在显示相同列表时使用相同的格式。尽管 bash 文档说在成功完成这两个命令后会执行 dirs 操作,但上面的别名似乎没有扩展到它们的领域。
任何进一步的想法将不胜感激。