Khi zsh được đặt làm vỏ đăng nhập trên Mac OS X, khi nó được bắt đầu bởi iTerm, zsh không xem xét nó đang được chạy dưới dạng vỏ đăng nhập, mặc dù nó được bắt đầu là '-zsh' ('-' được đặt là ký tự đầu tiên của arg [0]) được cho là có nghĩa là nó sẽ bắt đầu như một vỏ đăng nhập. Vì vậy, khi tôi đặt vỏ đăng nhập để bash, bash nhận ra '-' đầu tiên này bằng $ 0 và chạy dưới dạng trình bao đăng nhập, nhưng zsh thì không, mặc dù có vẻ như nó phải như vậy.Làm thế nào để làm cho zsh chạy như một vỏ đăng nhập trên Mac OS X (trong iTerm)?
Có cách nào để làm cho zsh nhận ra ‘-’ trong arg [0], hoặc làm cho iTerm chạy shell bằng một đối số dòng lệnh --login?
Thật không may, điều đó không hoạt động: Tôi có thể đặt bất kỳ trình bao nào tôi thích bằng chsh (miễn là tôi có vỏ này được liệt kê trong/etc/shell) Tuy nhiên, người ta không thể thêm đối số dòng lệnh vào vỏ hộp thoại Tùy chọn nâng cao (iTerm không khởi động được trình bao). –
Một số cú pháp đã thay đổi trong OS X nhưng ý chính là đặt trình bao mặc định thành/bin/zsh như Brian cho biết ở trên – engineerDave
Tôi thích SO. Tôi đã sử dụng câu trả lời này ngay bây giờ, và chỉ sau đó nhận ra tôi đã viết nó gần 4 năm trước đây! –