Увійшовши, shopt
ви отримаєте список з усіма варіантами bash, який не включає глобстар для башти Apple. Можливо, bash складено без підтримки цієї опції.
Для отримання виконавчого файлу bash з globstar встановіть brew та brew's bash:
$ brew install bash
$ chsh -s /usr/local/bin/bash
$ sudo bash -c 'echo /usr/local/bin/bash >> /etc/shells'
$ ln -s /usr/local/bin/bash /usr/local/bin/bash-terminal-app
Потім змініть оболонку за замовчуванням, відкриту в Terminal, на / usr / local / bin / bash-terminal-app та пригнічіть "Чи хочете закрити цю вкладку?" під час закриття вікон та вкладок, додайте "bash" до списку виключень.
Новий список опцій:
$ shopt
autocd off
cdable_vars off
cdspell off
checkhash off
checkjobs off
checkwinsize on
cmdhist on
compat31 off
compat32 off
compat40 off
compat41 off
compat42 off
compat43 off
complete_fullquote on
direxpand off
dirspell off
dotglob off
execfail off
expand_aliases on
extdebug off
extglob off
extquote on
failglob off
force_fignore on
globasciiranges off
globstar off
gnu_errfmt off
histappend off
histreedit off
histverify off
hostcomplete on
huponexit off
inherit_errexit off
interactive_comments on
lastpipe off
lithist off
login_shell on
mailwarn off
no_empty_cmd_completion off
nocaseglob off
nocasematch off
nullglob off
progcomp on
promptvars on
restricted_shell off
shift_verbose off
sourcepath on
xpg_echo off
За певних обставин / usr / local / share / та його підпапки належать root (наприклад, після встановлення smartmontools, nmap, node тощо зі своїми спеціальними інсталяторами), і деякі кроки не вдаються. На мій погляд, це зберегти chown -R
у папках користувачеві адміністратора, який встановив brew / bash. У моїй майже ванільній установці macOS і варити, / usr / local / share та / usr / local / share / locale належать цьому користувачеві адміністратора.
ln -s
був для мене пропущеним кроком.