输入shopt
将获得包含所有bash选项的列表,其中不包括Apple bash的globstar。bash可能在不支持此选项的情况下进行了编译。
要使用globstar获得bash可执行文件,请安装brew和brew的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中打开的默认Shell更改为/ 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的admin用户的文件夹中。在我几乎原始的macOS和brew安装中,/ usr / local / share和/ usr / local / share / locale属于该管理员用户。
ln -s
那一步对我来说是缺失的。