Nếu là người thường xuyên sử dụng shell script trên macOS bạn sẽ nhận thấy rằng, sau khi hoàn tất quá trình nó không tự động đóng Terminal mà người dùng phải tắt thủ công. Do đó bài viết này sẽ hướng dẫn các bạn cách đóng Terminal tự động sau khi hoàn tất quá trình.
Phương pháp này chỉ hoạt động khi bạn khởi chạy shell script bên ngoài bash như click vào nó trên Finder hoặc thiết lập một hotkey tùy chỉnh để mở chương trình. Nếu không, bạn sẽ được đưa trở lại Command Prompt. Bạn có thể sử dụng lệnh killall Terminal để đóng ứng dụng Terminal từ script nhưng nó sẽ đóng tất cả các cửa sổ Terminal đang mở.
- Cách tùy chỉnh Terminal trên Mac
- 5 lựa chọn thay thế tốt nhất cho ứng dụng Terminal trên macOS
- Sử dụng lệnh và một số mẹo cho Mac OS X
Thay đổi hành vi từ cài đặt Profile
Mở ứng dụng Terminal từ Dock hoặc thư mục Applications, sau đó mở cài đặt bằng cách nhấn Command+Comma.
Trong cửa sổ Settings, chuyển đến tab Profiles. Ở đây, profile mặc định luôn được chọn. Trong cài đặt ở bên phải, click vào tab Shell và sau đó click vào menu thả xuống When the shell exits.
Theo mặc định, tùy chọn Don’t close the window được chọn, nhưng bạn có thể thay đổi thành Close if the shell exited cleanly.
Bạn có thể đóng cửa sổ Terminal này mọi lúc, nhưng sẽ nhận được một thông báo lỗi nếu quá trình thoát ở tình trạng non-zero exit. Lưu ý, bạn cần thoát script bằng lệnh exit để hành vi này hoạt động mọi lúc.
Nếu khởi chạy từ Finder, lệnh exit sẽ tự động thêm vào script.
Sử dụng iTerm
- https://www.iterm2.com/
iTerm2 là một ứng dụng thay thế Terminal phổ biến cho macOS, nó sẽ đóng tự động của sổ khi shell script thoát ra. Nếu đã sử dụng iTerm làm Terminal mặc định, bạn có thể thấy rằng, shell script khởi chạy từ Finder vẫn mở với ứng dụng Terminal gốc. Do đó bạn vẫn gặp phải vấn đề này trừ khi đã thiết lập để script mở bằng iTerm.
Bạn có thể thay đổi ứng dụng mở script bằng cách click chuột phải vào script trong Finder và sau đó chọn Get Info.
Bạn sẽ thấy một menu thả xuống để thay đổi ứng dụng mở script, chọn iTerm và nhấn Change All để áp dụng thay đổi cho các script.
Theo mặc định, nếu bạn mở cửa sổ iTerm, nó sẽ khởi chạy trong một tab riêng biệt, không phải cửa sổ riêng, và tab đó sẽ đóng tự động khi hoàn tất quá trình.
Chúc các bạn thực hiện thành công!