tra-loi-cau-hoi-phat-trien-web.com

Khởi động lại bash từ thiết bị đầu cuối mà không khởi động lại ứng dụng thiết bị đầu cuối (mac)?

Tôi đã nhìn xung quanh và tìm câu trả lời cho câu hỏi này nhưng dường như tôi không tìm thấy nó (điều này thật kỳ lạ).

Câu hỏi của tôi là, có cách nào đơn giản để khởi động lại phiên bash từ bên trong terminal trên mac không. Tôi chỉ muốn hành vi tương tự như khi tôi đóng ứng dụng đầu cuối và khởi động lại (tất cả các biến được đặt lại, .bash_profile có nguồn gốc, v.v.).

Tôi biết cách tìm nguồn .bash_profile, nhưng đó không phải là điều tôi muốn. Một trong những lý do tôi muốn làm điều này là vì một plugin cho bash Prompt của tôi có mã ngăn màu được tải nhiều lần. Do đó, tìm nguồn cung ứng .bash_profile không tải lại các biến màu và tôi phải khởi động lại ứng dụng đầu cuối để có các thay đổi có hiệu lực.

49
Mattias

exec bash nên thay thế quy trình Shell hiện tại bằng (một ví dụ mới) bash.

73
Muzer

Câu trả lời được chấp nhận là tuyệt vời cho Shell sử dụng bash, đó cũng là điều mà OP đã hỏi, tuy nhiên, tôi đang sử dụng Terminal trên macOS với Shell (zsh) không mặc định và chạy lệnh exec bash rõ ràng không có hiệu ứng mong muốn: nó khởi chạy bash thay vì Shell mặc định của tôi.

Vì vậy, lệnh bất khả tri về môi trường sẽ là exec $Shell sử dụng biến môi trường $Shell lưu trữ Shell mặc định cho người dùng.

Ngoài ra, lưu ý rằng Apple sẽ thay thế bash bằng zsh trong macOS Catalina để có hiệu ứng mà OP đang tìm kiếm để chạy exec zsh hoặc là exec $Shell sẽ là cách để đi sau khi cập nhật lên macOS 10.15.

4
phip