我见过关于同一个问题的问题,但都是关于字符串的。整数呢,为什么我会得到“期望的一元运算符”错误?

 if [ $(date +%k%M) -ge ${!BLOCK1FRAN} ] ; then whatever ; fi

最佳答案

你用的是间接的。如果变量${BLOCK1FRAN}指向一个空变量,您将得到错误消息。确保${BLOCK1FRAN}所指的变量包含有效的数值。
如果要将空字符串和非数值计算为零,请使用以下语法。

if [[ $(date +%k%M) -ge ${!BLOCK1FRAN} ]]; then whatever ; fi

08-28 10:50