加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – macOS High Sierra上的参数替换错误替换错误

发布时间:2020-12-16 01:12:32 所属栏目:安全 来源:网络整理
导读:${parameter [^ | ^^ |,|,] [pattern]}参数替换给我一个错误的替换错误. $echo $greetinghello world$echo "${greeting^}."-bash: ${greeting^}.: bad substitution 我更新到最新的bash版本并继续收到错误. GNU bash,version 4.4.19(1)-release (x86_64-appl
${parameter [^ | ^^ |,|,] [pattern]}参数替换给我一个错误的替换错误.
$echo $greeting
hello world
$echo "${greeting^}."
-bash: ${greeting^}.: bad substitution

我更新到最新的bash版本并继续收到错误.

GNU bash,version 4.4.19(1)-release (x86_64-apple-darwin17.3.0)

我到处寻找,我发现的唯一建议是确保它正在运行bash 4.

$echo $SHELL
/bin/bash

我正在运行macOS High Sierra.

您的默认shell不是bash shell(从brew install bash下载),其中包含支持您所引用的参数扩展语法的v4.

在macOS echo $BASH_VERSION将告诉你当前shell的版本. bash –version告诉你$PATH中第一个bash的版本.因此,您查看该版本的方式并没有告诉您正在运行的版本.

您需要将最新版本的bash添加到文件/ etc / shells作为最后一行,并使用该命令将shell设置为终端上的默认值

chsh -s /usr/local/bin/bash "$USER"

在此关闭后重新打开终端以使其生效.如果不在终端中添加此默认选项,则只能在解释器设置为#!/usr/local / bin / bash的脚本上使用最近的bash

另见这Ask Different answer to – Update bash to version 4.0 on OSX

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读