我怎样才能回想一下前面的bash命令的参数?

Bash有没有办法回想起前一个命令的论点?

我通常做vi file.c然后是gcc file.c

Bash有没有办法回想起前一个命令的论点?

您可以使用$_!$来调用前一个命令的最后一个参数。

另外Alt + . 可以用来回忆任何前面的命令的最后一个参数。

如果前面的命令有两个参数,就像这样

 ls a.txt b.txt 

你想要第一个,你可以input

 !:1 

 a.txt 

或者,如果你想要两个,你可以键入

 !:1-2 

 a.txt b.txt 

您可以将其扩展到任意数量的参数,例如:

 !:10-12 

在命令行中可以按esc 或者alt +

它循环你以前使用的参数。

!!:n其中n是所需参数的基于0的位置。

例如:

 echo 'one' 'two' # "one two" echo !!:2 # "two" 

! 前缀用于访问以前的命令。

其他有用的命令:

  • !$ – 前一个命令的最后一个参数
  • !^ – 上一个命令的第一个参数(在程序/内置/脚本之后)
  • !! – 以前的命令(通常发音为“bang bang”)
  • !nhistory命令号码n
  • !pattern – 最近的命令匹配pattern
  • !!:s/find/replace – 最后一个命令,用replace代替find

有关命令历史的更多信息

如果你知道一个特定命令在历史中给出的数字,那么你几乎可以使用下面的术语在该命令中使用任何参数。

使用以下从历史中的第三个命令中获取第二个参数,

!3:2

使用以下从历史上倒数第五个命令的第三个参数,

!-5:3

用一个减号,让它从历史的最后一个命令开始遍历。

是的,您可以使用!$来调用上一个命令的最后一个参数。

!*用以前的所有参数运行一个新的命令。

 ls /tmp cd !* #you are now in /tmp