在Bash中是否有一种方法可以收回前面命令的参数?
我通常执行vi file.c,然后执行gcc file.c。
在Bash中是否有一种方法可以收回前面命令的参数?
在Bash中是否有一种方法可以收回前面命令的参数?
我通常执行vi file.c,然后执行gcc file.c。
在Bash中是否有一种方法可以收回前面命令的参数?
如果前面的命令有两个参数,如下所示
ls a.txt b.txt
你想要第一个,你可以打字
!:1
给
a.txt
如果你两者都想要,你可以打字
!:1-2
给
a.txt b.txt
你可以将此扩展到任意数量的参数,例如:
!:10-12
如果您知道某个特定命令的历史记录中给出的数字,那么您几乎可以使用以下术语获取该命令中的任何参数。
使用following从历史记录中的第三个命令中获取第二个参数,
!3:2
使用following从历史上最后的第五个命令中取出第三个参数,
! -"
使用负号,要求它从历史记录的最后一个命令开始遍历。
!!:n,其中n是你想要的参数的基于0的位置。
例如:
echo 'one' 'two'
# "one two"
echo !!:2
# "two"
!Prefix用于访问前面的命令。
其他有用的命令:
!$ -前一个命令的最后一个参数 ^ -上一个命令的第一个参数(在program/内置/脚本之后) !* -来自上一个命令的所有参数 !! -前一个命令(通常发音为“bang bang”) !n -来自历史的命令编号n !pattern -最近的命令匹配模式 !!:s/find/replace -最后的命令,用replace替换find
关于命令历史的更多信息