bash - 尾随空格问题,如何解决?
问题描述
我有一个脚本,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
解决方案
我实际上无法重现该错误,但是您编写该if
语句的方式存在明显错误。
-ge
需要是它自己的参数,你不能把整个比较放在一个字符串中。
if [ "$((a-(b + c)))" -ge 0 ]
推荐阅读
- delphi - 可以使 TDBEdit 上的 TextHint 属性起作用
- angular - 以角度在两个 sass 文件之间切换
- office-js - Office.js API 的 displayDialogAsync 方法未打开页面
- mysql - MySQL 可以输出相当于 perl 压缩整数吗?
- python - 如何在 PyTorch 中删除图层指定位置的节点
- r - R - 在城市地图上拟合网格并将数据输入到网格方块中
- ecmascript-6 - Lodash:根据条件在多级Json中查找并添加项目
- mysql - MYSQL:IF 语句在 n 行中查找空列
- node.js - node-gd:同步 savePng() 不返回错误
- angular - Npm 安装 Angular 5 兼容版本