shell脚本中的乘法错误

时间:2011-09-02 12:45:34

标签: shell

我编写了这个shell脚本

#!/bin/bash

VAR1=`awk -F"#" '/futuro/ { print $1 }' config.conf`
HOST="www.odds.com/matches/soccer/"
ONEDAY=86400
TODAYN=`date +%s`
VAR2= expr $VAR1 \\* $ONEDAY
TODAY=`date -d @$(($TODAYN + $VAR2)) +%Y%m%d`
TOMORROW=`date -d @$(($TODAYN + $ONEDAY)) +%Y%m%d`
FULLTODAY=$HOST$TODAY"/"
FULLTOMORROW=$HOST$TOMORROW"/"

......其他一些东西

但是当我尝试执行它时,我收到此错误

riga 8:1314967172 +:errore di sintassi:askso un operando(il token dierroreè“+”)

错误在哪里?

2 个答案:

答案 0 :(得分:1)

VAR2未正确初始化:其值为""。也许你忘记了反叛。

但你应该用$( ... )构造替换反引号。

此外,expr不是这里进行乘法的最佳方法。为什么不使用已添加的$(( ... ))

答案 1 :(得分:1)

更改

VAR2= expr $VAR1 \\* $ONEDAY

VAR2=$(( VAR1 * ONEDAY ))

但是,您应该能够这样说:

HOST="www.oddsportal.com/matches/soccer/"
DAYS=$(awk -F"#" '/futuro/ { print $1 }' config.conf)
TODAY=$(date -d "$DAYS days" +%Y%m%d)
FULLTODAY="${HOST}${TODAY}/"
FULLTOMORROW="${HOST}$(date -d "$TODAY + 1 day" +%Y%m%d)/"