有人曾经告诉我如何用替换的输出替换当前命令(输入行)。我怀疑它是一个readline函数但是不记得哪个。这个想法基本上就是如果你键入类似的东西
$ cd `pwd` <READLINE-MACRO such as M-b or C-a>
然后命令行将变为:
$ cd /home/username/files
并且在运行命令后,历史文件将具有cd /home/username/files
而不是'cd`pwd`'
答案 0 :(得分:2)
根据§ 8.4.8 "Some Miscellaneous [Readline] Commands" of the Bash Reference Manual:
shell-expand-line (M-C-e)
像shell一样扩展行。这将执行别名和历史记录扩展以及所有shell单词扩展(请参阅Shell Expansions)。
所以,只需输入你的命令:
cd `pwd`
然后按Alt + Ctrl + e以执行命令替换:
cd /home/username/files
然后按Enter键。
答案 1 :(得分:0)
我猜你发现了这样的情况:首先你运行
cd`pwd`
然后当你跑:
!cd
它会搜索你的历史cd命令并将`pwd`替换为/ home / username / files
是吗?