Çalıştırmak yapamıyorsanız chshyönetici ayrıcalıklarına sahip olmadığından, yapar birisiyle konuşmak .
Büyük olasılıkla chshroot olmayan bir sistem olarak kullanamazsınız , çünkü kullandığınız sistem chsh, örneğin sistem yalnızca /etc/passwddosya yerine NIS veya LDAP kullandığı için çalışamayacak şekilde yapılandırılmıştır . Belki de sisteminizin yöneticisi sadece biraz kontrol sağlamak istiyor.
Kabuğunuzu değiştirme prosedürü kuruluşunuzun politikalarına bağlıdır. chshNormalde yapılanları yapan yerel bir komut olabilir . Veya bir kabuk değişikliği talep eden bir destek bileti göndermeniz gerekebilir.
Diğer cevapların çoğu iyidir, ancak yöneticileriniz makul şekilde yanıt veriyorsa, başlangıç komut dosyalarınızı çiğnemekle uğraşmak istemeyebilirsiniz. Muhtemelen zsh -lgiriş yaptıktan sonra yönetici hesabımı güncellemeye gelene kadar manuel olarak çağırırdım.
Akılda tutulması gereken başka bir şey: Bazen farklı mermiler aynı başlangıç dosyalarını kullanabilir. Örneğin, shve bashyürütebileceği hem $HOME/.profileve cshve tcshyürütebileceği hem $HOME/.loginve $HOME/.cshrc(gerçi gibi kabuk özgü başlatma dosyaları .bashrc, .bash_profileve .tcshrcgeçersiz kılabilir). Varsayılan kabuğunuz /bin/cshbuysa ve kullanmak istiyorsanız /bin/tcsh, .loginçağırmanızın güncellenmesi /bin/tcsh -lsonsuz bir döngü oluşturabilir. belirli başlangıç dosyalarını zshyürütmek için olmaz bash, bu yüzden bu sizin için bir sorun değildir.
Çoğu kabukları Eğer (çalıştırıyorsanız kabuk tespit değişkenleri ayarlamak $BASH_VERSION, $tcsh, $ZSH_VERSION). Tercih ettiğiniz kabuğunuzu çağırmak için başlangıç kodunu yazacaksanız, onu içine almak kötü bir fikir değildir, bu ifnedenle yalnızca bu kabuğu çalıştırmıyorsanız çalıştırılır. Konsolebox'un cevabındaki kodu kullanarak :
if [ "${ZSH_VERSION:-unset}" = "unset" ] ; then
export SHELL=/bin/zsh
exec /bin/zsh -l
fi
(Eklemenin karmaşıklığı, "${ZSH_VERSION:-unset}"yalnızca "$ZSH_VERSION"yapma ihtimalinize, set -o unsettanımsız bir değişkene referans verilmesine neden olan bir seçeneğin bir hata olmasına izin verir.)
zshüzerine.bashrcdosyaya. Çıkış ve giriş ve bitti!