我怎样才能回忆起前面bash命令的参数?

在Bash中是否有一种方法可以收回前面命令的参数?

我通常在vi file.c后面跟着gcc file.c

在Bash中是否有一种方法可以收回前面命令的参数?

120654 次浏览

你可以使用$_!$来收回上一个命令的最后一个参数。

此外,Alt + 可用于收回前面任何命令的最后一个参数。

是的,你可以使用!$来收回前面命令的最后一个参数。

如果前面的命令有两个参数,如下所示

ls a.txt b.txt

你想要第一个,你可以打字

!:1

a.txt

如果你两者都想要,你可以打字

!:1-2

a.txt b.txt

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

!:10-12

在命令行中,可以按alt+esc-

它循环使用前面命令的最后一个论证

如果您知道某个特定命令的历史记录中给出的数字,那么您几乎可以使用以下术语获取该命令中的任何参数。

使用following从历史记录中的第三个命令中获取第二个参数,

!3:2

使用following从历史上最后的第五个命令中取出第三个参数,

!-5:3

使用负号,要求它从历史记录的最后一个命令开始遍历。

!!:n,其中n是你想要的参数从0开始的位置。

例如:

echo 'one' 'two'
# "one two"


echo !!:2
# "two"

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

其他有用的命令:

  • !$ -前一个命令的最后一个参数
  • !^ -前一个命令的第一个参数(在程序/内置/脚本之后)
  • !* -前一个命令的所有参数
  • !! -上一个命令(通常发音为"bang bang")
  • !n -命令号nhistory
  • !pattern -与pattern匹配的最新命令
  • !!:s/find/replace -最后一个命令,用replace替换find

更多关于命令历史的信息 . b

!*运行一个包含所有先前参数的新命令。

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