如何使用相同的参数运行不同的命令?

San*_*esh 8 linux unix bash command-line

例如,我编辑然后运行相同的源。

vim arbit.py
python arbit.py
Run Code Online (Sandbox Code Playgroud)

我知道我可以从内部运行它vim,但我想要一个关于 Bash 的通用解决方案。我一直在寻找重复使用参数的情况。

我怎样才能做到这一点?

Mik*_*kel 13

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

$ vim arbit.py
$ python !*
python arbit.py
Run Code Online (Sandbox Code Playgroud)

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

$ vim arbit.py
$ ls
$ python !vim:*
vim arbit.py
Run Code Online (Sandbox Code Playgroud)

或者,如果您只想要最后一个词,还有另外两种方法:

$ vim arbit.py
$ python !$
Run Code Online (Sandbox Code Playgroud)

或者:

$ vim arbit.py
$ python <Esc+.>
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅bash 历史交互文档