OS X'te yeniyim. MacBook Pro'da OS X Lion kullanıyorum. Homebrew kullanarak bash kabuğunu yükseltmek güvenli midir:
$ brew install bash
Güvenliyse, Terminal'den geçirdiğim kabuğun varsayılan örneğini nasıl yaparım?
Teşekkürler!
OS X'te yeniyim. MacBook Pro'da OS X Lion kullanıyorum. Homebrew kullanarak bash kabuğunu yükseltmek güvenli midir:
$ brew install bash
Güvenliyse, Terminal'den geçirdiğim kabuğun varsayılan örneğini nasıl yaparım?
Teşekkürler!
Yanıtlar:
İçindeki ikili /{,usr/}{,s}bin/
dosyalar genellikle başka dosyalarla değiştirilmemelidir. Diğer programlar, OS X ile birlikte gelen sürümler olmalarını bekler ve bunların yerine OS yükseltmeleri yapılır.
Çalıştırdıktan sonra brew install bash
, varsayılan kabuğu aşağıdaki şekilde güvenle değiştirebilirsiniz:
/usr/local/bin/bash
için/etc/shells
chsh -s /usr/local/bin/bash
.Terminal veya iTerm 2'deki ayarların normalde değiştirilmesi gerekmez. Her ikisi de varsayılan pencerenin bir giriş kabuğu ile yeni pencereler açmak için varsayılandır.
Varsayılan kabuk ayrıca Sistem Tercihleri'nden veya dscl ile değiştirilebilir, ancak üç seçenek de yalnızca değiştirilebilir /var/db/dslocal/nodes/Default/users/$USER.plist
.
/etc/shells
Demise takılan bash içerecek şekilde düzenleme ile ilgili bit gereklidir. Aksi takdirde (en azından makinemde) Terminal çalışmaya başlamayı reddedecektir.
brew install bash
çalışması için mecburdum. (yani, değiştirmek zorunda değildi /etc/shells
)
Burada yanlış olabilirim, ama bildiğim kadarıyla, brew
kendi sistemlerini kurardı çünkü sistem varsayılanları (ve ) bash
altında /usr/local/bin
çalışırken demleme çalışıyor ./bin
/usr/bin
Terminal hakkında, kabukları kendi özel komutunuzla açabilirsiniz. Tercihler> Başlangıç seçeneğine gidin ve Şununla açık mermiler: Komut (tam yol) . Yeni bash
ve vuala'nızın yolunu yazın!
Umarım yardımcı olur!
BTW: Yedekleme! Bu durumlarda en iyi tavsiye!
Bir şey yapmadan önce, geçerli dosyanızı yedekleyin (elbette, ancak her zaman söylenmeyi hak ediyor)
sudo cp /bin/bash /bin/bash.3.2.bk
Sonra Homebrew'in indirdiği bash çalıştırılabilirine bir link oluşturun. Sanırım / usr / local / Cellar'da olacak
sudo ln -s /usr/local/Cellar/bash/4.2.10/bin/bash /bin/bash
Şimdi / bin / bash, usr / yerel dizininizdeki dosyayı gösterir.
Sadece fırlatırsan güvenli olduğunu düşünüyorum
brew install bash
ve sonra varsayılan kabuğunuz olarak ekleyin
chsh -s /usr/local/bin/bash
çünkü yalnızca geçerli kullanıcınızı değiştiriyorsunuz. Ancak, benim varsayılan ~ / .profile olduğunu fark ettim.
if [ "/bin/bash" == $BASH ]; then
source ~/.bashrc
fi
bu yüzden güncellenmesi gerekiyor. Olarak değiştirdim
if [ "bash" == $(basename $BASH) ]; then
source ~/.bashrc
fi
chsh
Tek başına neden yeterli olmadığı için diğer cevaplara bakınız . Ayrıca Güncellenmiş .profile pasajı orijinal bir aynı görünüyor
brew install bash
başka bir işlem gerektirmez. Paylaştığım güncellenmiş profil ile, değil. Umarım bu başkalarına yardımcı olabilir.