处理 bash 间接引用中的无效变量名错误

问题描述 投票:0回答:1

看这个简单的例子:

x="foo bar"
echo ${!x}

错误:

-bash: foo bar: invalid variable name

我正在编写一个脚本,其中位置参数将指示“颜色名称”,并且我们使用间接引用来获取颜色名称的十六进制代码。如果用户传递带有空格的颜色名称或通常无效的颜色名称(我们默认为白色),我希望脚本继续运行。

我也尝试过this尝试/捕获方法但无济于事:

x="foo bar"
echo ${!x} || echo error

我能找到的最后的东西是这个,但没有帮助:

通过字符串名称引用 Bash 变量

bash reference
1个回答
0
投票

这可能是您需要的错误处理:

test -v "$x" || echo error
© www.soinside.com 2019 - 2024. All rights reserved.