我如何能够回想起前面的bash命令的参数?

时间:2021-12-03 15:43:17

Is there a way in Bash to recall the argument of the previous command?

Bash是否有方法来回忆上一个命令的参数?

I usually do vi file.c followed by gcc file.c.

我通常做vi文件。其次是gcc文件。

Is there a way in Bash to recall the argument of the previous command?

Bash是否有方法来回忆上一个命令的参数?

7 个解决方案

#1


374  

You can use $_ or !$ to recall the last argument of the previous command.

您可以使用$_或!$来回忆前面命令的最后一个参数。

Also Alt + . can be used to recall the last argument of any of the previous commands.

Alt +。可以用于回忆前面任何命令的最后一个参数。

#2


116  

If the previous command had two arguments, like this

如果前面的命令有两个参数,就像这样

ls a.txt b.txt

and you wanted the first one, you could type

你想要第一个,你可以输入

!:1

giving

a.txt

Or if you wanted both, you could type

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

!:1-2

giving

a.txt b.txt

You can extend this to any number of arguments, eg:

你可以把它扩展到任何数量的论点,例如:

!:10-12

#3


50  

In the command line you can press esc-. or alt+.

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

It cycles through the previous arguments you used.

它循环遍历您以前使用的参数。

#4


33  

!!:n where n is the 0-based position of the argument you want.

! !n,其中n是你想要的论点的基于0的位置。

For example:

例如:

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

echo !!:2
# "two"

The ! prefix is used to access previous commands.

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

Other useful commands:

其他有用的命令:

  • !$ - last argument from previous command
  • !上次命令的最后一个参数
  • !^ - first argument (after the program/built-in/script) from previous command
  • ! ^ -第一个参数(在程序/内置/脚本)从先前的命令
  • !! - previous command (often pronounced "bang bang")
  • ! !-先前的命令(通常读作“bang”)
  • !n - command number n from history
  • !n -历史上的第n个命令
  • !pattern - most recent command matching pattern
  • !模式-最近的命令匹配模式
  • !!:s/find/replace - last command, substitute find with replace
  • ! !:s/find/replace - last command, replace find with replace。

More info on command history

更多关于命令历史的信息

#5


21  

If you know the number given in the history for a particular command, you can pretty much take any argument in that command using following terms.

如果您知道某个特定命令的历史中给出的数字,那么您可以使用以下术语在该命令中接受任何参数。

Use following to take the second argument from the third command in the history,

使用下面的方法从历史的第三个命令中获取第二个参数,

!3:2

! 3:2

Use following to take the third argument from the fifth last command in the history,

使用下面从历史上的第5个命令中获取第三个参数,

!-5:3

! 5:3

Using a minus sign, you ask it to traverse from the last command of the history.

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

#6


14  

Yes, you can use !$ to recall the last argument of the preceding command.

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

#7


3  

!* runs a new command with all previous arguments.

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

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

#1


374  

You can use $_ or !$ to recall the last argument of the previous command.

您可以使用$_或!$来回忆前面命令的最后一个参数。

Also Alt + . can be used to recall the last argument of any of the previous commands.

Alt +。可以用于回忆前面任何命令的最后一个参数。

#2


116  

If the previous command had two arguments, like this

如果前面的命令有两个参数,就像这样

ls a.txt b.txt

and you wanted the first one, you could type

你想要第一个,你可以输入

!:1

giving

a.txt

Or if you wanted both, you could type

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

!:1-2

giving

a.txt b.txt

You can extend this to any number of arguments, eg:

你可以把它扩展到任何数量的论点,例如:

!:10-12

#3


50  

In the command line you can press esc-. or alt+.

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

It cycles through the previous arguments you used.

它循环遍历您以前使用的参数。

#4


33  

!!:n where n is the 0-based position of the argument you want.

! !n,其中n是你想要的论点的基于0的位置。

For example:

例如:

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

echo !!:2
# "two"

The ! prefix is used to access previous commands.

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

Other useful commands:

其他有用的命令:

  • !$ - last argument from previous command
  • !上次命令的最后一个参数
  • !^ - first argument (after the program/built-in/script) from previous command
  • ! ^ -第一个参数(在程序/内置/脚本)从先前的命令
  • !! - previous command (often pronounced "bang bang")
  • ! !-先前的命令(通常读作“bang”)
  • !n - command number n from history
  • !n -历史上的第n个命令
  • !pattern - most recent command matching pattern
  • !模式-最近的命令匹配模式
  • !!:s/find/replace - last command, substitute find with replace
  • ! !:s/find/replace - last command, replace find with replace。

More info on command history

更多关于命令历史的信息

#5


21  

If you know the number given in the history for a particular command, you can pretty much take any argument in that command using following terms.

如果您知道某个特定命令的历史中给出的数字,那么您可以使用以下术语在该命令中接受任何参数。

Use following to take the second argument from the third command in the history,

使用下面的方法从历史的第三个命令中获取第二个参数,

!3:2

! 3:2

Use following to take the third argument from the fifth last command in the history,

使用下面从历史上的第5个命令中获取第三个参数,

!-5:3

! 5:3

Using a minus sign, you ask it to traverse from the last command of the history.

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

#6


14  

Yes, you can use !$ to recall the last argument of the preceding command.

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

#7


3  

!* runs a new command with all previous arguments.

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

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