Bash'den zsh'ye geçmeye çalışıyorum.
.Bashrc'mi doğrudan .zshrc dosyama koydum ve Bash'i yeniden kullanmaya çalıştığımda birçok hataya neden oldu.
.Bashrc dosyanızı .zshrc'ye nasıl aktarabilirsiniz?
Bash'den zsh'ye geçmeye çalışıyorum.
.Bashrc'mi doğrudan .zshrc dosyama koydum ve Bash'i yeniden kullanmaya çalıştığımda birçok hataya neden oldu.
.Bashrc dosyanızı .zshrc'ye nasıl aktarabilirsiniz?
Yanıtlar:
Lhunath'ın cevabı beni doğru yöne itse de zsh .profile
otomatik olarak kaynak sağlamıyor gibi görünüyor . Bu konuyla ilgili çok sayıda iyi bilgi bu süper kullanıcı gönderisinde bulunabilir .
Kullandığım uyarlama, ortak takma adlar ve işlevler koymak .profile
ve bunları aşağıdaki gibi manuel olarak sağlamaktır:
İçinde ~/.bashrc
:
source ~/.profile
İçinde ~/.zshrc
:
[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
emulate
bir zsh yerleşik komutudur. Tek bağımsız değişkenle, belirtilen kabuğu mümkün olduğunca taklit etmek için zsh seçeneklerini ayarlayın.
Sen "olamaz ihracat senin" .bashrc
a kadar .zshrc
. komutları .bashrc
çalıştıran bir dosyadır bash
. komutları .zshrc
çalıştıran bir dosyadır zsh
.
Sen bekleyemezsiniz zsh
çalıştırmak için muktedir bash
Gözlerinde farklı komutlar .bashrc
yeni dönüştürmek gerektiğini, böylece .zshrc
yerine çalıştırmak çalışmakla .bashrc
gelen .zshrc
ikinci içine eski veya kopyalama.
Tüm kabuklarınız için ortak bir kabuk başlatma dosyası istiyorsanız; kullanımı .profile
(ve kaldırma .bashrc
ve .zshrc
). Tüm POSIX kabukları tarafından sağlanır. Ve orada, yalnızca POSIX kabuk özelliklerine bağlı kalın . Daha sonra bu kod herhangi bir POSIX kabuğunda çalışacaktır. (Yine zsh
de POSIX uyumlu olduğundan % 100 emin değilim ).
Görmek: http://mywiki.wooledge.org/DotFiles .
Ve ben ilk sorunuzun bu bölümü yanlış anlamıştı - - olmama rağmen gelen tecrübe hataları olmamalıdır bash
koşu .bashrc
sen koymak sürece zsh
orada komutları. Yaptın mı Ne tür hatalar alıyorsun? Bana zsh
kod eklediğiniz .bashrc
ve bash
(belli ki) anlamadığınız gibi geliyor.
Bir kenara, ojblass
kısmen başarılı olan bir taşınabilirlik noktası yapmaya çalışıyor. zsh
harika bir kabuktur (kendime bu ödülü almamış olsam da) ama senaryo yazarken; Onun #!/usr/bin/env bash
yerine bunu yapmanızı tavsiye ederim . Çoğunlukla sadece kendiniz için (ve nihayetinde onlarla paylaştığınız insanlar) taşınabilirlik uğruna.