在我的工作流程中,我经常这样做:
cat this/very/long/filename.txt
cd !$
bash: cd: this/very/long/filename.txt: Not a directory
这是意料之中的:(
现在我恢复上一个命令,手动删除文件部分,然后重复 cd
,现在可以正常工作了。那是打字太多了!
如果有一个 bash
快捷方式就好了:
cd !§
这可以给我上次使用的参数的父级。我知道 !§
不存在,我只是希望它存在!有什么可以满足的吗?
最佳答案
Et voilà。历史修改器来拯救!
$ cd !!:$:h
可以缩写为
$ cd !$:h
此命令采用上一个命令的最后一个参数,并删除尾随路径名。
更多细节:
!!
扩展为上一个命令:$
扩展为上一个命令的最后一个参数:h
获取header;也就是说,删除文件名(即上述最后一个参数的尾部)
顺便说一句,
!!:$:t
恰恰相反。
深入讨论请引用the Bash documentation .
关于获取上次使用参数的父级的 Bash 快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25038557/