如何获取最后执行的命令的命令名称?

如何获取最后执行的命令的命令名称?

示例:我输入man ls, 而我只想得到man

通过使用!!我可以得到man ls但是我如何得到呢man

答案1

!!:您可以使用单词指示符从上次键入的命令中选择特定单词。作为单词指示符,您需要0.您可能会发现^并且$也很有用。从man bash:

词指示符

0(零)第零个词。对于 shell,这是命令字。

^ 第一个论点。即单词1。

$ 最后一个论点。

所以在你的情况下尝试:

echo !!:0

答案2

在交互模式下,最简单的方法就是按组合键alt+0alt+ .。快捷方式alt+.表示“调用上一行中的第 n 个单词”(默认为最后一个单词),并且alt+0为其提供参数 0。

这应该适用于大多数系统上的交互式 bash(更一般地说,所有用作readline其输入库的 shell)。

https://stackoverflow.com/questions/4009412/bash-how-to-use-arguments-from-previous-command

相关内容