有个之前一直正常运行的脚本,突然报错了
eval: line 1: syntax error: unterminated quoted string
提示也比较直接eval使用出的问题,过滤一下脚本内容,果然找到了一个疑似问题代码:
eval $(echo $line 2>/dev/null |awk '{print "iosOs="$13";iosDev="$14}')
看了下
l
i
n
e
这
个
变
量
,
在
一
些
情
况
下
并
没
有
那
么
多
字
段
,
上
面
命
令
要
求
单
个
line这个变量,在一些情况下并没有那么多字段,上面命令要求单个
line这个变量,在一些情况下并没有那么多字段,上面命令要求单个line至少有14个字段,如果没有就会报错。
以后代码还是要做足够的容错,保不齐啥时候外接的输入就起变化了,切切。