执行以下操作时,我收到“整数表达式预期错误”:
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来自动删除空行,并且它删除了文件的整个内容,包括数字。有任何想法吗??
阅读一些评论后,我想知道您是否遇到了一些无法打印的字符。我已经通过在\ n最终能够复制之前放置\ r对此进行了测试。这是代码的清理版本,使用tr删除一些额外的字符。
NM=$(tr -cd '[:graph:]' <file)
if [[ $NM -gt 0 ]]; then
echo "workflow 1 would follow here"
elif [[ $NM -lt 0 ]]; then
echo "workflow 2 would go after this"
else
echo "something else"
fi
我可以使用[:graph:]以外的其他类。我只是经常使用[:graph:],但是每个人都有。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句