Ao shopt
entrar, você obterá uma lista com todas as opções do bash, que não incluem o globstar para o bash da Apple. Provavelmente o bash é compilado sem suporte para esta opção.
Para obter um executável bash com a globstar, instale o brew e o bash do brew:
$ 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
Em seguida, altere o shell padrão aberto no Terminal para / usr / local / bin / bash-terminal-app e suprima a opção 'Deseja fechar esta guia?' Quando fechar janelas e guias, adicione 'bash' à lista de exclusões.
A nova lista de opções é então:
$ 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
Sob certas circunstâncias, / usr / local / share / e suas subpastas pertencem à raiz (por exemplo, após a instalação de smartmontools, nmap, nó etc. com seus instaladores personalizados) e algumas das etapas falham. Na minha opinião, é salvo chown -R
nas pastas do usuário administrador que instalou o brew / bash. Na minha instalação quase completa do macOS e do brew, / usr / local / share e / usr / local / share / locale pertencem a este usuário administrador.
ln -s
foi o passo que faltava para mim./usr/local/bin/bash
não foi criado porbrew
. Além disso, o que ébash-terminal-app
?/usr/local/Cellar/...
e geralmente vinculados/usr/local/bin
. Por alguma razão, porém,bash
parece ser uma exceção.brew doctor
revela a provável razão de ser quebash
não pôde ser vinculada, mas se eu tentarbrew link bash
, entendo que o link simbólico não pôde ser criado porque/usr/local/share/locale/ca/LC_MESSAGES is not writable
. Eu verifiquei e nãobrew
fui instalado como root, conforme recomendado na página inicial./usr/local/share/locale/ca/LC_MESSAGES
é de fato propriedade do root, portanto não é gravável sem acesso ao root, mas não tenho certeza se posso seguramente justificá-chown
lo. Esse arquivo é de propriedade do root?