如何运行具有相同参数的不同命令?

如何运行具有相同参数的不同命令?

例如,我编辑然后运行同一个源。

vim arbit.py
python arbit.py

我知道我可以从内部运行它vim,但我想要一个 Bash 上的通用解决方案。我不断发现我重用参数的情况。

我怎样才能做到这一点?

答案1

使用!*。它会扩展为除第一个单词(即命令)之外的所有单词。

$ vim arbit.py
$ python !*
python arbit.py

您可以将其与 的所有功能相结合!,例如:

$ vim arbit.py
$ ls
$ python !vim:*
vim arbit.py

或者,如果您只想要最后一个字,还有其他两种方法:

$ vim arbit.py
$ python !$

或者:

$ vim arbit.py
$ python <Esc+.>

查看bash 历史交互文档更多细节。

答案2

至少有几种方法可以做到这一点。

$ vim arbit.py
$ python[press Alt-.]

它将检索前一个命令的最后一个参数,如下所示:

$ vim arbit.py
$ python !$

或者

$ vim arbit.py
$ python !*

检索前一个命令的所有参数。

相关内容