@ Mklement0 [tarafından bir yükseltme sorunuyla ilgili olarak gönderilen mükemmel açıklama ve çözüm için buraya bakın bash
.
Benim sistemde tam tersini yaparak benzer bir sorun vardı (OS X 10.10.1): yapım bash
Ben yüklü sonra tekrar varsayılan giriş kabuğu oh-my-zsh
yapılan hangi zsh
varsayılan ve ardından yükseltme bash
Homebrew (kullanarak 4.3.30 için 3.2.53 den Apple neden Yosemite'yi eski bir bash
sürümle gönderiyor?).
Bence SHELL
ortam değişkeni yansıtır ama yok değil kullanıcı için gerçek varsayılan giriş kabuğu kontrol eder. Örneğin, diyelim ki bash
varsayılanınız varsa ve bash
terminalden yeni bir kabuk penceresi açarsanız o $ export SHELL="/bin/zsh"; echo "$SHELL"
zaman gösterecektir, /bin/zsh
ancak terminalden yeni bir kabuk penceresi açar ve yaparsanız $ echo $0
göreceksiniz -bash
( $0
adı ve yolu içerir) Bu durumda, kabuk penceresini başladı komuta bash
ve -
onun yanında o) giriş kabuğu olduğunu gösterir.
@ Mklement0, kullanıcının gerçek varsayılan giriş kabuğunun kullanıcının UserShell
dahili veritabanındaki kullanıcının kaydındaki özellik tarafından kontrol edildiğini belirttiğinden, bu komut satırı yardımcı programı kullanılarak sorgulanabilir ve güncellenebilir dscl
. Bir kabuk penceresi açtığınızda bu bilgiler terminal uygulamanıza aktarılır.
Yapmak için chsh -s /bin/zsh
bu UserShell
özelliği değiştirmek için değiştirin zsh
- dscl . -read /Users/$USER/ UserShell
hemen sonra bunu kontrol edebilirsiniz ve göreceksiniz UserShell: /bin/zsh
. Ama değişiklik olduğunu değil gibi bir şey yapana kadar, geçerli pencerede etkilenen exec su - $USER
@ mklement0 önerdiği gibi, ya da yakın size kadar ve bir kabuk penceresini açın.
/etc/shells
? Kılavuz, belirttiğiniz kabuk bu dosyada değilse, standart bir kabuk olarak değerlendirilmediğini belirtir.