Jak mogę uruchomić inną komendę, ale z tymi samymi argumentami?


8

Na przykład edytuję, a następnie uruchamiam to samo źródło.

vim arbit.py
python arbit.py

Wiem, że mógłbym uruchomić go od wewnątrz vim, ale chcę ogólne rozwiązanie w Bash. Ciągle znajduję sytuacje, w których ponownie wykorzystuję argumenty.

Jak mogę to zrobić?

Odpowiedzi:


12

Zastosowanie !*. Rozszerza się na wszystkie słowa oprócz pierwszego (tj. Polecenia).

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

Możesz połączyć to ze wszystkimi funkcjami !, na przykład:

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

Lub, jeśli chcesz tylko ostatnie słowo, istnieją dwa inne sposoby:

$ vim arbit.py
$ python !$

lub:

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

Więcej informacji znajduje się w dokumentacji interakcji historii bash .


Ponownie !:2wykorzystaj drugi argument poprzedniego polecenia.
Matthias Braun

3

Można to zrobić na co najmniej kilka sposobów.

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

który pobiera ostatni argument poprzedniego polecenia, podobnie jak:

$ vim arbit.py
$ python !$

lub

$ vim arbit.py
$ python !*

który pobiera wszystkie argumenty poprzedniego polecenia.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.