您能在 bash 中使用标志重复上一个命令吗?

您能在 bash 中使用标志重复上一个命令吗?

有没有办法用附加标志重复你的上一个命令?

例子:

假设我这样做:

rm myFavouriteDirectory

我会收到答复:

rm: myFavouriteDirectory/: is a directory

显然我想要做的是:

rm -rf myFavouriteDirectory

有没有办法用类似的标志重复最后一个命令!! -rf(这不起作用)

答案1

请参阅中的“历史扩展” man bash

我所知道的最接近的情况是:
!!:0 -rf !*

!!:0是前一个命令中的第一个单词,!*是除第一个单词(即参数)之外的所有内容。

但实际上我总是会输入:
rm -rf !*

在 GNU 发行版中,!! -rf(即把标志放在末尾)仍然适用于大多数命令,但在 BSD 和 OSX 上通常不行。这取决于命令如何处理参数。

相关内容