Shell-表达式中的语法错误(错误标记为“ 0”)

Aug*_*sto 5 testing bash shell

此代码有什么问题?

if  (( `date +%U` % 2 -eq 0 ))
then
   VOLUME= "A"
else
    VOLUME="B"
fi
Run Code Online (Sandbox Code Playgroud)

我收到“表达式中的语法错误(错误标记为“ 0”)“错误。

anu*_*ava 3

您需要使用$(...)语法来使用命令替换。

您可以使用此命令:

(( $(date +%U) % 2 == 0 )) && VOLUME="A" || VOLUME="B"
Run Code Online (Sandbox Code Playgroud)

  • 是的,我知道,但这仍然不能解释在OP的情况下不使用它的原因。(分配一个变量) (2认同)