0

有人曾经向我展示了如何用替换的输出替换当前命令(输入行)。我怀疑这是一个 readline 函数,但不记得是哪个。这个想法基本上是,如果你输入类似的东西

$ cd `pwd` <READLINE-MACRO such as M-b or C-a>

那么命令行将变为:

$ cd /home/username/files

并且在您运行命令后,历史文件将具有cd /home/username/files而不是 'cd `pwd`'

4

2 回答 2

3

根据Bash 参考手册的第 8.4.8 节“一些杂项 [Readline] 命令”

shell-expand-line (M-C-e)

像 shell 一样展开该行。这将执行别名和历史扩展以及所有 shell 单词扩展(请参阅Shell Expansions)。

因此,只需输入您的命令:

cd `pwd`

然后按 Alt+Ctrl+e 以实现命令替换:

cd /home/username/files

然后按 Enter。

于 2012-09-12T17:19:24.053 回答
0

我猜你会发现这样的情况:首先你跑

cd`密码`

然后当你运行时:

!cd

它将搜索您的历史 cd 命令并将 `pwd` 替换为 /home/username/files

是吗?

于 2012-09-12T14:32:26.690 回答