看这个简单的例子:
x="foo bar"
echo ${!x}
错误:
-bash: foo bar: invalid variable name
。
我正在编写一个脚本,其中位置参数将指示“颜色名称”,并且我们使用间接引用来获取颜色名称的十六进制代码。如果用户传递带有空格的颜色名称或通常无效的颜色名称(我们默认为白色),我希望脚本继续运行。
我也尝试过this尝试/捕获方法但无济于事:
x="foo bar"
echo ${!x} || echo error
我能找到的最后的东西是这个,但没有帮助:
这可能是您需要的错误处理:
test -v "$x" || echo error