此代码有什么问题?
if (( `date +%U` % 2 -eq 0 ))
then
VOLUME= "A"
else
VOLUME="B"
fi
我得到“表达式中的语法错误(错误标记为”0“)”eror。
答案 0 :(得分:3)
您需要使用$(...)
语法来使用命令替换。
您可以使用此命令:
(( $(date +%U) % 2 == 0 )) && VOLUME="A" || VOLUME="B"
答案 1 :(得分:1)
您的问题是在算术测试(双括号)的上下文中使用-eq
运算符。
if (( $(date +%U) % 2 == 0 )); then VOLUME= "A" else VOLUME="B"; fi
答案 2 :(得分:0)
试试这个。
case $(date +%U) in
*[02468] ) VOLUME="A";;
*) VOLUME="B";;
esac
另请注意,=
周围的空格不允许。