ฉันจะรันคำสั่งอื่นได้อย่างไร แต่มีอาร์กิวเมนต์เดียวกัน


8

ตัวอย่างเช่นฉันแก้ไขแล้วเรียกใช้แหล่งเดียวกัน

vim arbit.py
python arbit.py

ฉันรู้ว่าฉันสามารถเรียกใช้ได้จากภายในvimแต่ฉันต้องการโซลูชันทั่วไปเกี่ยวกับ Bash ฉันค้นหาสถานการณ์ที่ฉันนำข้อโต้แย้งมาใช้ซ้ำ

ฉันจะทำสิ่งนั้นได้อย่างไร

คำตอบ:


12

!*ใช้ มันจะขยายไปทุกคำยกเว้นคำแรก (เช่นคำสั่ง)

$ 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คุณใช้อาร์กิวเมนต์ที่สองของคำสั่งก่อนหน้า
Matthias Braun

3

มีอย่างน้อยสองวิธีในการทำเช่นนี้

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

ซึ่งดึงอาร์กิวเมนต์สุดท้ายของคำสั่งก่อนหน้านี้เช่นเดียวกับ:

$ vim arbit.py
$ python !$

หรือ

$ vim arbit.py
$ python !*

ซึ่งดึงข้อโต้แย้งทั้งหมดของคำสั่งก่อนหน้า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.