โฮมเพจ » ทำอย่างไร » วิธีการเปลี่ยนคำแรกอย่างรวดเร็วในคำสั่ง Bash

    วิธีการเปลี่ยนคำแรกอย่างรวดเร็วในคำสั่ง Bash

    หากเวิร์กโฟลว์ของคุณมีการกระทำซ้ำ ๆ มากมายมันจะไม่เจ็บที่จะมองหาวิธีในการปรับปรุงและปรับปรุงกระบวนการทำงานของคุณให้คล่องตัว บทความถามตอบ SuperUser ในวันนี้มีคำแนะนำที่เป็นประโยชน์สำหรับผู้อ่านที่ต้องการปรับปรุงกระบวนการทำงานของเขา.

    เซสชั่นคำถามและคำตอบในวันนี้มาถึงเราด้วยความอนุเคราะห์จาก SuperUser - แผนกย่อยของ Exchange Exchange ซึ่งเป็นกลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.

    มารยาทภาพหน้าจอของ Matt Joyce (Flickr).

    คำถาม

    เหรียญผู้อ่าน SuperUser ต้องการทราบวิธีเปลี่ยนคำแรกอย่างรวดเร็วในคำสั่ง bash:

    ฉันต้องการปรับปรุงเวิร์กโฟลว์ของฉันด้วยการทุบตีและตระหนักว่าฉันมักจะต้องการดำเนินการคำสั่งเดียวกันให้เป็นปฏิบัติการที่แตกต่างกัน.

    ตัวอย่างบางส่วน

    1. ) Git

    2. ) ทุบตี

    ฉันรู้ว่าฉันสามารถตี Ctrl + A แล้วก็ Del เพื่อลบคำแรก แต่ฉันสงสัยว่ามีวิธีที่รวดเร็วกว่าในการทำหรือไม่.

    มีวิธีที่เร็วกว่าสำหรับเหรียญในการเปลี่ยนคำแรกในคำสั่ง bash หรือไม่?

    คำตอบ

    ผู้สนับสนุน SuperUser Spiff, Hastur, jjlin และ Gustavo Giraldez มีคำตอบสำหรับเรา ขึ้นมาก่อน Spiff:

    !$ ขยายเป็นคำสุดท้ายของคำสั่งก่อนหน้าของคุณ ดังนั้นคุณสามารถทำได้:

    หรือ

    ตัวอย่างของคุณเกิดขึ้นเพียงทำซ้ำคำสุดท้ายดังนั้น! $ ทำงานได้ดี หากคุณมีข้อโต้แย้งมากมายที่คุณต้องการทำซ้ำและคุณต้องการเปลี่ยนคำแรกคุณสามารถใช้! * ซึ่งขยายออกเป็นคำทั้งหมดของคำสั่งก่อนหน้ายกเว้นซีโรท.

    ดูส่วน "การขยายประวัติ" ของหน้า bash man มีความยืดหยุ่นมากมาย.

    ตามด้วยคำตอบจาก Hastur:

    ฉันต้องการเพิ่มคำเตือน (ดูคำตอบจาก Spiff ด้านบน) ด้วย! $ คุณจะไม่สามารถควบคุมการมองเห็นของสายที่คุณกำลังวิ่งได้อย่างเต็มที่ ผลลัพธ์อาจเป็นอันตรายได้ในบางครั้งโดยเฉพาะอย่างยิ่งถ้าคุณพิมพ์ผิด ต้องใช้สิ่งที่ต้องการจากประวัติเพื่อขยาย.

    ดังนั้นหากคุณเขียนคำสั่งสุดท้ายด้วยช่องว่างที่จุดเริ่มต้นคำสั่งนี้อาจจะไม่เสร็จสิ้นจากประวัติ เมื่อคุณรันคำสั่งใหม่ของคุณด้วย! $ เชลล์จะไม่รับพารามิเตอร์จากบรรทัดคำสั่งสุดท้ายที่พิมพ์ แต่จากส่วนสุดท้ายของประวัติเท่านั้น.

    ต่อไปนี้เป็นคำและคำสั่งที่เป็นประโยชน์เพิ่มเติม.

    จากนั้นคำตอบจาก jjlin:

    Ctrl + A เพื่อไปที่จุดเริ่มต้นของบรรทัดจากนั้น Alt + D เพื่อลบคำแรก.

    และคำตอบสุดท้ายของเราจาก Gustavo Giraldez:

    ทางลัดการลบคำเป็นจริง Meta + D, และ Meta มักจะแมปกับ Alt บนเครื่อง Linux บนแพลตฟอร์มที่ไม่มีกรณีนี้เป็นทางเลือกที่จะได้รับ Meta ปรับปรุงคือการใช้ Esc เป็นคำนำหน้า คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ คีย์ Meta ที่นี่.


    มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.