Seperti @William katakan dalam jawabannya, Apple tidak menyediakan bash 4 karena pembatasan GPL. Anda dapat menginstal bash 4+ dan juga dapat menjadikannya shell default Anda (termasuk untuk Terminal dan iTerm2 ) dengan melakukan hal berikut.
Instal Bash 4 melalui Homebrew
Pertama instal versi bash yang lebih baru. Ada berbagai cara untuk melakukan itu, saya lebih suka Homebrew.
- Instal Homebrew sebagaimana dijelaskan di http://brew.sh .
- Instal bash menggunakan
brew install bash
.
Bash 4 sekarang tersedia di PATH Anda (dengan anggapan Homebrew bin ada di jalur Anda). Namun, tidak belum shell default Anda. Anda dapat menemukan di mana letaknya dengan menjalankan which bash
. Dalam kasus saya ini di /usr/local/bin/bash
.
Menggunakan Bash 4
Karena ini ada di PATH Anda, Anda dapat memulai sesi Bash 4 hanya dengan bash
atau dapat digunakan dalam skrip dengan menggunakan Shebang .
Misalnya, ini akan menggunakan contoh bash tertentu.
#!/usr/local/bin/bash
...your script...
Ini akan menggunakan bash pertama pada PATH.
#!/usr/bin/env bash
...your script...
Anda juga dapat mengatur jalur bash untuk profil tertentu di Terminal / iTerm2 menggunakan langkah-langkah yang dijelaskan dalam jawaban @ user136952.
Menjadikan Bash 4 sebagai default
Seperti disebutkan di atas, setelah menginstal Bash 4 masih bukan shell default. Untuk menjadikan bash default, Anda perlu melakukan dua langkah lagi.
Pertama, tambahkan jalur Bash 4 ke /etc/shells
file Anda sehingga itu adalah shell login yang diizinkan. Seperti dijelaskan di / etc / shells , file ini memiliki daftar shell login yang valid. Setelah menambahkan bash path baru, /etc/shells
tampilannya seperti berikut:
# 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
Selanjutnya kita menggunakan chsh untuk menjadikannya shell default Anda. Jadi setiap sesi untuk pengguna itu akan menggunakan shell itu. Anda dapat membaca lebih lanjut tentang ini di Change the Shell di Mac OS X Terminal , tetapi perintah sebenarnya sangat mudah.
chsh -s /usr/local/bin/bash
Sekarang bash baru adalah shell login default kami. Jika Anda membuka Terminal atau iTerm2 dan menjalankan bash --version
Anda akan melihat versi baru. Perhatikan "Lisensi GPLv3 +" yang mengapa Apple tidak mengikatnya dengan macOS.
$ 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>