我在 Debian Gnu/Linux(版本 12.4)上的脚本文件中声明了一个只读关联数组。
与只读变量一样,错误重定向很容易完成,
readonly AQUA_FG="$(tput setaf 87)" 2> /dev/null
readonly GOLD_FG="$(tput setaf 227)" 2> /dev/null
这很有效,特别是当脚本在命令窗口中多次调用或粘贴时。这,
bash: AQUA_FG: readonly variable
错误不会显示在命令窗口中。
如果我制作一个关联的只读前景色数组,例如,
readonly -A FORECOLOUR=(
[AQUA]="$(tput setaf 87)"
[GOLD]="$(tput setaf 227)"
) 2> /dev/null
当在命令窗口中声明或粘贴该数组时,
bash: FORECOLOUR: readonly variable
被展示。
我的问题是,这种错误重定向对于只读关联数组是否可能,或者我没有正确执行某些操作?
一旦您用反斜杠屏蔽换行符并将整个内容放在单引号中,错误消息就会消失。
您的声明需要如下所示:
将数组声明屏蔽为字符串使整个声明再次意识到错误重定向。