gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 08:53:26 25 4
gpt4 key购买 nike

${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 不是包含 v4bash shell(从 brew install bash 下载)它支持您所指的参数扩展语法。

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

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

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

关闭并重新打开Terminal使其生效。如果不在您的 Terminal 中添加此默认选项,您只能在解释器 she-bang 设置为 #!/usr/local/的脚本上使用最近的 bash bin/bash

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

关于bash - macOS High Sierra 上的参数替换错误替换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49573277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com