Cách đóng ứng dụng Terminal bằng dòng lệnh terminal (“exit”) trong macOS Catalina

Aug 16 2020

Tôi muốn đóng Terminal bằng dòng lệnh terminal.

Nhưng khi tôi nhập exitlệnh, Terminal chỉ đăng xuất phiên nhưng không đóng cửa sổ ứng dụng. Có cách nào để đóng ứng dụng không.

Tôi đang chạy macOS Catalina 10.15.6.

Trả lời

17 user3439894 Aug 16 2020 at 10:50

Trong Terminal > Preferences… > Profiles > Shell , cài đặt mặc định cho Khi shell thoát: là: Không đóng cửa sổ

Điều này có thể được thay đổi thành: Đóng cửa sổ

Sau đó, exit lệnh sẽ đóng cửa sổ .


Chỉnh sửa để giải quyết Câu hỏi đã chỉnh sửa:

Tuy nhiên, nếu bạn muốn đóng cửa sổ bằng cách sử dụng exit lệnh, bạn có thể làm như được đề xuất trong phần đầu tiên của câu trả lời này, nếu bạn cũng muốn tự động và duyên dáng đóng Terminal , như một phần của tập lệnh của bạn hoặc thay cho exit lệnh như được hiển thị trong câu hỏi của bạn, thì bạn có thể làm như sau:

Trước tiên, hãy tạo một ứng dụng AppleScript đơn giản bằng cách sử dụng AppleScript mẫu sau trong Trình chỉnh sửa Tập lệnh :

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

Lưu nó dưới dạng một ứng dụng có tên như QuitTerminal trong thư mục Ứng dụng chính .

Sau khi lưu nó, hãy mở Terminal và sau đó mở ví dụ như QuitTerminal để kích hoạt cho phép quyền trong Tùy chọn hệ thống > Bảo mật & Quyền riêng tư > Quyền riêng tư

Khi điều này được thực hiện, bạn có thể sử dụng phần sau ở cuối tập lệnh của mình hoặc thay cho exit lệnh :

open -a "OuitTerminal"

Ví dụ dựa trên lệnh hiển thị trong câu hỏi của bạn:

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

Thao tác này sẽ chỉ đóng Terminal nếu không có tiến trình nào đang chạy trong bất kỳ cửa sổ nào trong Terminal .

Lưu ý: Nếu bạn không muốn xem chương trình OuitTerminal trong Dock , bạn có thể sửa đổi ứng dụng bằng lệnh sau trong Terminal :

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

Nếu bạn không quan tâm đến bất kỳ quá trình đang chạy nào, bạn có thể buộc đóng Thiết bị đầu cuối từ tập lệnh hoặc lệnh bằng cách sử dụng killall Terminalthay cho exit; tuy nhiên điều này là lộn xộn và tôi không khuyên bạn nên sử dụng nó trên những gì đã trình bày ở trên.