วิธีปิดแอพ Terminal โดยใช้บรรทัดคำสั่ง Terminal (“ exit”) ใน macOS Catalina

Aug 16 2020

ฉันต้องการปิด Terminal โดยใช้บรรทัดคำสั่งเทอร์มินัล

แต่เมื่อฉันป้อนexitคำสั่ง Terminal จะล็อกเฉพาะเซสชันเท่านั้น แต่ไม่ได้ปิดหน้าต่างแอพ มีวิธีใดในการปิดแอปด้วย

ฉันใช้ macOS Catalina 10.15.6

คำตอบ

17 user3439894 Aug 16 2020 at 10:50

ในTerminal > Preferences … > Profiles > Shellการตั้งค่าเริ่มต้นสำหรับเมื่อเชลล์ออก:คือ: อย่าปิดหน้าต่าง

สามารถเปลี่ยนเป็น: ปิดหน้าต่าง

แล้วexit คำสั่งจะปิดหน้าต่าง


แก้ไขเพื่อตอบคำถามที่แก้ไข:

หากคุณต้องการปิดหน้าต่างโดยใช้exit คำสั่งคุณสามารถทำได้ตามที่แนะนำในส่วนแรกของคำตอบนี้อย่างไรก็ตามหากคุณต้องการปิดTerminalโดยอัตโนมัติและสง่างามเช่นกันโดยเป็นส่วนหนึ่งของสคริปต์ของคุณหรือแทนที่exit คำสั่งเช่น แสดงในคำถามของคุณจากนั้นคุณสามารถดำเนินการดังต่อไปนี้:

ขั้นแรกให้สร้างแอปพลิเคชันAppleScript อย่างง่ายโดยใช้ตัวอย่างรหัสAppleScriptต่อไปนี้ในScript Editor :

tell application "Terminal" to if (busy of windows) does not contain true then quit

บันทึกเป็นแอพลิเคชันที่มีชื่อเช่นQuitTerminalในหลักการประยุกต์ใช้งาน โฟลเดอร์

หลังจากบันทึกแล้วให้เปิดTerminalจากนั้นเปิดเช่นQuitTerminalเพื่อเรียกใช้การอนุญาตภายใต้การตั้งค่าระบบ > ความปลอดภัยและความเป็นส่วนตัว > ความเป็นส่วนตัว

เมื่อเสร็จแล้วคุณสามารถใช้สิ่งต่อไปนี้ที่ท้ายสคริปต์ของคุณหรือแทนexit คำสั่ง :

open -a "OuitTerminal"

ตัวอย่างตามคำสั่งที่แสดงในคำถามของคุณ:

/Users/harikrishna/Desktop/youtube.sh ; open -a "OuitTerminal"

นี้จะใกล้เทอร์มิหากไม่มีกระบวนการทำงานในใด ๆ ของหน้าต่างในเทอร์มิ

หมายเหตุ: หากคุณไม่ต้องการเห็นเช่นOuitTerminalแสดงในDockคุณสามารถแก้ไขแอปพลิเคชันโดยใช้คำสั่งต่อไปนี้ในTerminal :

defaults write '/Applications/OuitTerminal.app/Contents/Info.plist' LSUIElement -bool yes

หากคุณไม่สนใจเกี่ยวกับกระบวนการทำงานใด ๆ คุณสามารถบังคับปิดTerminalจากสคริปต์หรือคำสั่งโดยใช้killall Terminalแทนexit; อย่างไรก็ตามสิ่งนี้ยุ่งเหยิงและฉันไม่แนะนำให้ใช้กับสิ่งที่นำเสนอข้างต้น