【问题标题】:Simple bash question, -gt: unary operator expected error [duplicate]简单的 bash 问题,-gt:一元运算符预期错误 [重复]
【发布时间】:2020-02-11 15:28:22
【问题描述】:

简单的脚本。对第 2 行的预期感到困惑。对此很陌生,但感觉就像我在旋转轮子,试图让伪代码运行。

#!/bin/bash
if [ $a -gt 10 ]
then
  echo "Greater than 10, subtracting 1"
  let a -=1
else
  echo "Less than or equal to 10"
fi

【问题讨论】:

  • a为空或未设置时,[ $a -gt 10 ]变为[ -gt 10 ],无效
  • @OznOg shellcheck.net 很有帮助。将有助于改善我的问题。

标签: linux bash shell


【解决方案1】:

这样的?我认为这是您在 if 语句中缺少的分号。此外,我们假设 $a 已定义。

#!/bin/bash
if [ $a -gt 10 ]; then 
  echo "Greater than 10, subtracting 1" 
  let a -=1 
else 
  echo "Less than or equal to 10";
fi

【讨论】:

  • 原来的换行已经重新启用,then 原来是在自己的行上,所以不是这个,抱歉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-20
  • 1970-01-01
  • 2012-11-17
  • 1970-01-01
相关资源
最近更新 更多