我在给变量赋值时尝试进行算术运算。当脚本到达 end_day 时,它无法进行数学运算,当我在终端中测试它时,它只会返回表达式。我需要做什么才能将结果分配给变量。
这是脚本的一部分,$fhour
来自其他地方,只是一个两位数。
#Date variables
export start_year=$(date -u +%Y)
export start_mon=$(date -u +%m)
export start_day=$(date -u +%d)
export start_hour=$fhour
export end_year=$(date -u +%Y)
export end_mon=$(date -u +%m)
export end_day=${$start_day+(((($start_day*24)+84)/24)-((($start_day*24)+84)%24))}
export end_hour=${($start_day*24+84)%24}
谢谢你的帮助!
答案1
按照指南网络城市为了bash 算术您没有使用正确的方法。要进行算术运算,格式如下:
$((表达式))
因此,对于您来说,这将是正确的变量分配:
export end_day=$(( $start_day+(((($start_day*24)+84)/24)-((($start_day*24)+84)%24)) ))
export end_hour=$(( ($start_day*24+84)%24 ))
注意:这需要测试,不确定结果是否正确。