shell脚本的整数表达式预期错误

时间:2016-08-26 02:31:23

标签: shell

我是一个真正的菜鸟,抱歉,如果这是一个愚蠢的问题

是一段代码片段

(第一行是#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

当我抬起这个错误时,它说要确保支架之间有一个空间,我有一个支架。我不知道还能做什么。

1 个答案:

答案 0 :(得分: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