Làm thế nào tôi có thể chạy một lệnh khác nhưng với cùng một đối số?


8

Ví dụ, tôi chỉnh sửa và sau đó chạy cùng một nguồn.

vim arbit.py
python arbit.py

Tôi biết tôi có thể chạy nó từ bên trong vim, nhưng tôi muốn một giải pháp chung về Bash. Tôi tiếp tục tìm các tình huống mà tôi sử dụng lại các đối số.

Làm thế nào tôi có thể làm điều đó?

Câu trả lời:


12

Sử dụng !*. Nó mở rộng ra tất cả các từ trừ từ đầu tiên (tức là lệnh).

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

Bạn có thể kết hợp nó với tất cả các tính năng của !, ví dụ:

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

Hoặc, nếu bạn chỉ muốn từ cuối cùng, có hai cách khác:

$ vim arbit.py
$ python !$

hoặc là:

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

Xem tài liệu tương tác lịch sử bash để biết thêm chi tiết.


Với !:2bạn sử dụng lại đối số thứ hai của lệnh trước.
Matthias Braun

3

Có ít nhất một vài cách để làm điều này.

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

trong đó lấy ra đối số cuối cùng của lệnh trước đó như sau:

$ vim arbit.py
$ python !$

hoặc là

$ vim arbit.py
$ python !*

trong đó lấy ra tất cả các đối số của lệnh trước đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.