Làm cách nào để đóng Terminal trong OSX từ dòng lệnh?


60

Tại sao không "thoát" đóng cửa sổ Terminal.app trên Mac OS X?

$ exit
logout

[Process completed]

Có cách nào để đóng cửa sổ mà không cần sử dụng chuột không?


Command + q sẽ đóng cửa sổ
Kolob Canyon

Câu trả lời:


80

Một cửa sổ được hiển thị bởi Terminal.app chỉ là lối vào cho quá trình bạn chọn để chạy bên trong nó - trong trường hợp của bạn, một vỏ Unix. Khi bạn thoát khỏi shell, Terminal.app không đóng cửa sổ theo mặc định, do đó bạn có thể kiểm tra đầu ra từ bất kỳ lệnh nào bạn đã chạy, sau khi kết thúc.

Bạn có thể thay đổi sở thích của bạn ở đây

Tùy chọn thiết bị đầu cuối - & gt; Cài đặt - & gt; Vỏ:

để một trong hai

  1. luôn đóng cửa sổ, bất kể trạng thái thoát của vỏ là gì
  2. đóng cửa sổ nếu vỏ thoát ra sạch
  3. giữ cho cửa sổ mở (mặc định)

Ngoài ra, bạn có thể (hầu như) luôn đóng các cửa sổ trong OSX bằng Cmd-W, vì vậy bạn không cần chuột ngay cả khi nó không tự động đóng.

Thêm một gợi ý: Tôi thích nhấn Ctrl-D thay vì gõ exit. Hai chìa khóa so với năm.


10
Ở Yosemite, đó là: sở thích - & gt; tiểu sử - & gt; vỏ - & gt; "khi shell thoát ra" ... Shell là bất kỳ shell nào bạn đã chọn trong General- & gt; Khi khởi động mở ...
cloudsurfin

Khi shell đã thoát, có thể bắt đầu một shell mới trong cùng một cửa sổ không? Nếu vậy thì thế nào?
Sodved

@Sodved: Tôi không nghĩ vậy, nhưng có thể sai.
Amadan

Điều này không trả lời câu hỏi đã được hỏi, vì nó không đề xuất một dòng lệnh hoạt động.
Chris Stratton

@ChrisStratton Bạn đúng là nó không trả lời trực tiếp câu hỏi đã hỏi, nhưng nó làm tạo điều kiện cho việc sử dụng exit lệnh mà OP đã sử dụng ban đầu.
jdersen

18

Chỉ huy + Q - & gt; đóng ứng dụng / quy trình.

Chỉ huy + W - & gt; đóng cửa sổ / thể hiện


Điều này không trả lời câu hỏi đã được hỏi, vì nó không đề xuất một hoạt động dòng lệnh.
Chris Stratton

9

Có, có. Ví dụ: bạn có thể sử dụng AppleScript để đạt được nó:

osascript -e 'tell application "Terminal" to close first window'

Cửa sổ đầu tiên luôn là cửa sổ hiện đang hoạt động. Đó là người bạn muốn đóng.

Trước khi đóng cửa sổ, Terminal có thể hỏi bạn, nếu bạn thực sự muốn đóng cửa sổ. Điều này phụ thuộc vào cài đặt của bạn. Bạn có thể đã chọn 'đóng cửa sổ chỉ khi lớp vỏ thoát ra sạch sẽ hoặc không có quá trình nào khác đang chạy tách rời khỏi'. (Đây có thể là cài đặt mặc định.) Trong trường hợp đó thêm & exit để lệnh đóng cửa sổ ngay lập tức và không cần hỏi.

osascript -e 'tell application "Terminal" to close first window' & exit

Đây là hầu hết đúng, nhưng trên thực tế, "cửa sổ đầu tiên" là không phải luôn luôn là người chạy lệnh.
Chris Stratton

1

Tôi cũng đề nghị chống lại đề nghị killall. Theo đề xuất, sửa đổi các cài đặt trong tùy chọn của bạn để đóng cửa sổ nếu thoát vỏ thành công. Nếu bạn THỰC SỰ LAZY (như tôi), hãy mở hồ sơ bash của bạn và thêm bí danh. Tôi có bộ của tôi vì vậy tất cả những gì tôi phải làm là gõ 'q'.


0

Trên thực tế, đối với yêu cầu này, bạn nên đặt một số cấu hình cho Terminal của mình. làm theo các hướng dẫn bên dưới và bạn sẽ đóng Terminal của mình chỉ bằng một exit chỉ huy.

Khi thiết bị đầu cuối hoạt động, nhấn + , để mở cửa sổ tùy chọn. sau đó bạn sẽ thấy màn hình bên dưới:

enter image description here

Sau đó nhấn tab shell và bạn sẽ thấy màn hình bên dưới:

enter image description here

Bây giờ chọn Close if the shell exited cleanly cho Khi vỏ thoát ra .

Terminal của bạn đã sẵn sàng cho lối ra chỉ với một exit chỉ huy.


-2

Nếu bạn muốn tự chấm dứt ứng dụng từ dòng lệnh:

killall Terminal

4
điều đó được coi là có hại. Ngoài việc killall thực hiện những điều khác nhau trên các phiên bản Unix khác nhau, thật không hay khi giết một ứng dụng thay vì yêu cầu nó thoát.
Florenz Kley
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.