2016-08-26 85 views
1

IM这个真正的小白,对不起,如果这是一个愚蠢的问题整数表达式预期的错误

继承人的代码

(第一行是行#259的夹子,最后一行是# 263)

if [ $col -le 6 ] 
then 
echo -e "\t\t\033[91;4m 
$paragraph\033[0m" 
elif ! [ $col -le 12 ] 

当我运行它,这是我所得到的,当我运行它

./checker.sh: line 259: [: .",: integer expression expected 
./checker.sh: line 263: [: .",: integer expression expected 

当我看到这个错误,它说确保支架和支架之间有一个空间。我不知道还有什么要做。

+0

检查'$ col'的价值。它几乎肯定不是你期望的。 (实际上,它会显示为'。\“,''不知何故。 –

+0

在脚本中可能出现[预期的整数表达式错误]重复(http://stackoverflow.com/questions/21716389/error-integer-表达式预期在脚本) – tripleee

回答

1

如果您研究如何阅读它们,错误消息是信息性的。

让我们来看三个例子:

$ col="1"; [ $col -le 6 ] 
$ col=""; [ $col -le 6 ] 
bash: [: -le: unary operator expected 
$ col="a"; [ $col -le 6 ] 
bash: [: a: integer expression expected 

这三者中,你所获得的信息:“整数表达式预期”。这意味着你的col不是一个整数。

重现您看到消息,我们设置col=' .",'

$ col=' .",'; [ $col -le 6 ] 
bash: [: .",: integer expression expected 
+0

这只是脚本的部分给我的错误。它会帮助,如果我把整个脚本? – Fish

+0

你可以寻找设置'col'的值的部分。如果不清楚它在哪里,那么运行'bash -x checker.sh'。这将产生大量的诊断输出。在输出中搜索'col'设置的位置,并查找它为什么设置错误值 – John1024

+0

col =()这意味着如果我是正确的,它就没有任何设置 – Fish