เรียกใช้คำสั่งสุดท้ายในขณะที่กำลังแทนที่ไวยากรณ์หรือการพิมพ์ผิด

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

ไวยากรณ์ทั่วไปที่จะใช้มีดังนี้:

!!:gs/old/new

!! รันคำสั่งสุดท้ายอีกครั้งในขณะที่: gs / old / new จะแทนที่ instance ของข้อความ "old" ด้วย "new" ภายในคำสั่งสุดท้าย

ตัวอย่างเช่นนี่คือคำสั่งเปลี่ยนไดเร็กทอรีที่เรียบง่ายพร้อมด้วยข้อผิดพลาดในเส้นทาง:

cd /System/Library/CoerServices/Dock.app/Contents/

ประกาศ "CoerServices" ควรเป็น "CoreServices" แต่แทนที่จะพิมพ์คำสั่งและเส้นทางทั้งหมดอีกครั้งคุณสามารถป้อนข้อมูลต่อไปนี้:

!!:gs/Coer/Core/

และทันใดนั้นคุณก็อยู่ในไดเรกทอรีที่ถูกต้อง

นี่เป็นประโยชน์อย่างมากเมื่อคุณค้นพบข้อผิดพลาดที่ลอยอยู่ในไวยากรณ์บรรทัดคำสั่งที่อื่น แต่ยังเหมาะสำหรับการสลับการตั้งค่าในและนอกสิ่งต่างๆเช่นค่าเริ่มต้นเขียนคำสั่งโดยแทนที่ "ไม่" ด้วย "ใช่" เป็นต้น:

!!:gs/no/yes

คุณยังสามารถวาง sudo ไว้หน้า !! เพื่อเรียกใช้คำสั่งก่อนหน้านี้เป็น root