正如伊格纳西奥所说,使用!!, 但如果你坚持:
$(history | sed '$d' | sed -n '$p' | cut -d ' ' -f 3-)
Run Code Online (Sandbox Code Playgroud)
解释:
$() 执行里面的命令的输出sed '$d' 删除最后一个命令,即 2001 $(history | sed '$d' | sed -n '$p' | cut -d ' ' -f 3-)sed -n '$p' 只打印最后一行,即 2000 yourpreviouscommandcut -d ' ' -f 3- 去掉前三个字段,用空格隔开,即 <space>2000<space>我认为它可以变得更简洁和健壮,但它现在有效。
编辑:如果您想使用history而不是!!因为您使用的外壳没有!!,那么您就不走运了;history是一个内置的shell,而不是一个程序。如果没有!!. 例如,破折号不会:
imgx64@home:~$ dash
$ history
dash: history: not found
$
Run Code Online (Sandbox Code Playgroud)