@William'ın cevabında söylediği gibi, GPL kısıtlamaları nedeniyle Apple 4. bash sağlamamaktadır. Ancak bash 4+ ürününü yükleyebilir ve ayrıca aşağıdakileri yaparak varsayılan kabuğunuzu (Terminal ve iTerm2 dahil ) yapabilirsiniz.
Homebrew üzerinden Bash 4'ü yükleyin
Önce bash'ın yeni versiyonunu kurun. Bunu yapmanın çeşitli yolları var, Homebrew'i tercih ederim.
Bash 4 artık PATH'nizde kullanılabilir (Homebrew selesinin yolda olduğunu varsayarak). Ancak, öyle değil henüz varsayılan kabuk. Nerede bulunduğunu çalıştırarak bulabilirsiniz which bash
. Benim durumumda öyle /usr/local/bin/bash
.
Bash 4'ü kullanma
PATH'nizdebash
olduğu için, yalnızca bir Bash 4 oturumu başlatabilir veya bir Shebang kullanarak komut dosyalarında kullanılabilir .
Örneğin, bu belirli bir bash örneği kullanacaktır.
#!/usr/local/bin/bash
...your script...
Bu PATH üzerindeki ilk bash'ı kullanacaktır.
#!/usr/bin/env bash
...your script...
@ User136952'in yanıtında açıklanan adımları kullanarak Terminal / iTerm2'deki belirli profiller için bash yolunu da ayarlayabilirsiniz.
Bash 4'ü varsayılan yapmak
Yukarıda da belirtildiği gibi, Bash 4 kurulduktan sonra hala varsayılan kabuk değildir. Bash'ı varsayılan yapmak için iki adım daha yapmanız gerekir.
Öncelikle, Bash 4 yolunu /etc/shells
dosyanızı izin verilen bir giriş kabuğu olacak şekilde ekleyin . / Etc / shells'de açıklandığı gibi , bu dosya geçerli oturum açma kabukları listesine sahiptir. Yeni bash yolunu ekledikten sonra /etc/shells
aşağıdaki gibi görünüyorum:
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/bash
Sonra onu varsayılan kabuğunuz yapmak için chsh kullanın. Yani o kullanıcı için herhangi bir oturum bu kabuğu kullanacaktır. Bununla ilgili daha fazla bilgiyi Mac OS X Terminalinde Kabuğu Değiştirme bölümünde bulabilirsiniz , ancak gerçek komut çok basittir.
chsh -s /usr/local/bin/bash
Şimdi yeni bash bizim varsayılan giriş kabuğumuz. Terminal veya iTerm2'yi açıp çalıştırıyorsanız bash --version
, yeni sürümü görmelisiniz. "License GPLv3 +" sürümüne dikkat edin, bu nedenle Apple'ın macOS ile paketlememesi gerekir.
$ bash --version
GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.6.0)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>