在Bash中是否有一种方法可以收回前面命令的参数?
我通常在vi file.c后面跟着gcc file.c。
vi file.c
gcc file.c
你可以使用$_或!$来收回上一个命令的最后一个参数。
$_
!$
此外,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开始的位置。
!!:n
n
例如:
echo 'one' 'two' # "one two" echo !!:2 # "two"
!前缀用于访问前面的命令。
!
其他有用的命令:
!^
!*
!!
!n
history
!pattern
pattern
!!:s/find/replace
replace
find
更多关于命令历史的信息 . b
!*运行一个包含所有先前参数的新命令。
ls /tmp cd !* #you are now in /tmp