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

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

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

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

7 Solutions collect form web for “我怎样才能回想一下前面的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 
  • 你如何正常化Bash中的文件path?
  • 命令行Unix基于ASCII的制图/绘图工具
  • 调用subprocess.Popen中的“source”命令
  • lsof生存指南
  • 如何在Bash给定的超时后杀死一个subprocess?
  • 如何找出给定用户的组?
  • 符号链接和硬链接有什么区别?
  • 如何将subprocess调用传递给文本文件?
  • 为什么总是./configure; 使; 安装; 作为3个单独的步骤?
  • 如何使用pipe道在两个程序之间发送一个简单的string?
  • 如何获取不同行中的文件名列表