我怎样才能回想一下前面的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