首页 > 解决方案 > 尾随空格问题,如何解决?

问题描述

我有一个脚本,syntax error in expression在第 4 行出现错误。我猜这是因为在 之后0"和之前的尾随空格]。如果我删除它,我会收到不同的错误。我还能如何修改这条线以使其工作?

令人惊讶的是,我在 line1 上没有看到任何错误。这是更大脚本的片段,因此log已经定义了一个变量。

 1  if [ "$Total" -ge 1024 ]
 2  then
 3      echo "Good to go" >> "$log"
 4      if [ "$((a-(b + c))) -ge 0" ] ; then echo "YES"  | tee -a "$log"; else echo "NO"  | tee -a "$log"; fi
 5  else
 6      echo "can't proceed" >> "$log"
 7      echo "NO"  | tee -a "$log"
 8      exit 0
 9  fi

标签: bashscript

解决方案


我实际上无法重现该错误,但是您编写该if语句的方式存在明显错误。

-ge需要是它自己的参数,你不能把整个比较放在一个字符串中。

if [ "$((a-(b + c)))" -ge 0 ]

推荐阅读