วิธีที่ดีกว่าในการล้างหน้าจอจากภายในสคริปต์ ...
หากคุณกำลังใช้แอปพลิเค OSX ร์มินัล (ตามที่ระบุไว้โดยสหกรณ์) ซึ่งเป็นวิธีการที่ดี (ขอบคุณhttps://apple.stackexchange.com/a/113168 ) เป็นเพียงแค่นี้:
clear && printf '\e[3J'
หรือรัดกุมมากกว่า (หมวกให้https://stackoverflow.com/users/4834046/qiuyi ):
printf '\33c\e[3J'
ซึ่งล้างบัฟเฟอร์การเลื่อนเช่นเดียวกับหน้าจอ มีตัวเลือกอื่น ๆ เช่นกันดูhttps://apple.stackexchange.com/a/113168สำหรับข้อมูลเพิ่มเติม
คำตอบเดิม
คำตอบของ AppleScript ที่ให้ไว้ในเธรดนี้ทำงานได้ แต่มีผลข้างเคียงที่น่ารังเกียจของการล้างหน้าต่างเทอร์มินัลใด ๆ ที่เกิดขึ้นเพื่อให้สามารถใช้งานได้ นี่เป็นเรื่องที่น่าแปลกใจถ้าคุณกำลังเรียกใช้สคริปต์ในหน้าต่างหนึ่งและพยายามทำงานให้เสร็จ
คุณหลีกเลี่ยงปัญหานี้ได้ด้วยการปรับแต่ง AppleScript เพื่อล้างหน้าจอเฉพาะเมื่อหน้าจอดังกล่าวอยู่ข้างหน้าสุด (ทำจากhttps://apple.stackexchange.com/a/31887 ):
osascript -e 'if application "Terminal" is frontmost then tell application "System Events" to keystroke "k" using command down'
... แต่เมื่อไม่ใช่หน้าต่างปัจจุบันเอาต์พุตจะซ้อนกันจนกว่าจะกลายเป็นปัจจุบันอีกครั้งซึ่งอาจไม่ใช่สิ่งที่คุณต้องการ