我怎样才能回想一下前面的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”) -
!n
–history
命令号码n
-
!pattern
– 最近的命令匹配pattern
-
!!:s/find/replace
– 最后一个命令,用replace
代替find
有关命令历史的更多信息
如果你知道一个特定命令在历史中给出的数字,那么你几乎可以使用下面的术语在该命令中使用任何参数。
使用以下从历史中的第三个命令中获取第二个参数,
!3:2
使用以下从历史上倒数第五个命令的第三个参数,
!-5:3
用一个减号,让它从历史的最后一个命令开始遍历。
是的,您可以使用!$
来调用上一个命令的最后一个参数。
!*用以前的所有参数运行一个新的命令。
ls /tmp cd !* #you are now in /tmp