【发布时间】:2016-04-11 14:56:57
【问题描述】:
执行以下操作时出现“整数表达式预期错误”:
NM=$(<file)
if test $NM -gt 0
then
echo "workflow 1 would follow here"
else
if test $NM -lt 0
then
echo "workflow 2 would go after this"
else
echo "something else"
fi
fi
我从中获得 $NM 分配的文件仅包含一个数字(始终为整数)。该文件是 gmtmath 操作的输出。 我注意到,如果我打开该文件,它在包含数字的行下方有一个额外的行,如果我手动删除该空行,我的循环可以工作并且我没有收到错误。但是,我尝试以各种方式使用 sed 来自动删除空行,它会删除文件的全部内容,包括数字。有任何想法吗??
【问题讨论】:
-
这有点奇怪。
echo -n "$NM" | hexdump -C的输出可以在读取后添加吗? -
我很好奇你在说什么循环。是否存在循环,或者您是否将条件语句称为循环?
-
我终于能够重现并找出您的问题。答案如下,请记住在您的问题解决后选择一个答案。
标签: bash if-statement integer