2011-09-02 10 views
0

Je Codé Ce script shellerreur de multiplication dans le script 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"/" 

... quelques autres trucs

mais lorsque je tente de l'exécuter, je reçois cette erreur

riga 8: 1314967172 +: errore di sintassi: atteso un operando (le jeton di errore è "+")

où est l'erreur?

+1

7 questions. Aucun accepté Très bon –

+1

Erreur italienne signifie: 'Erreur de syntaxe: l'opérande attendu (au jeton" + ")' – mouviciel

Répondre

1

changement

VAR2= expr $VAR1 \\* $ONEDAY 

à

VAR2=$((VAR1 * ONEDAY)) 

Mais, vous devriez être en mesure de dire ceci:

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)/" 
+0

merci pour le code plus propre, mais il n'effectue pas la même tâche complètement. FULLTOMORROw doit être un jour après FULLTODaY et peut aujourd'hui être n'importe quel jour dans le futur ou dans le passé. – emanuele

+0

Je pense que c'est mieux ... – emanuele

+0

HOST = "www.oddsportal.com/matches/soccer/" DAYS = $ (awk -F "#" '/ futuro/{print $ 1}' config.conf) VAR1 = $ (($ jOURS + 1)) FULLTODAY = "$ {HOST} $ (date -d "jours $ jOURS" +% Y% m% d) /" FULLTOMORROW = "$ {HOST } $ (date -d "$ VAR1 jour" +% Y% m% d)/" – emanuele

1

VAR2 n'est pas correctement initialisé: sa valeur est "". Peut-être que vous avez oublié backticks.

Mais vous devez remplacer les contre-bandes par la construction $(...). De plus, expr n'est pas la meilleure façon de faire une multiplication ici. Pourquoi ne pas utiliser $((...)) que vous utilisez déjà avec des ajouts?

+0

ne fonctionne pas. peut-être VAR1 n'est pas considéré comme un nombre? – emanuele

+0

Je ne peux rien dire sur 'VAR1': je ne sais pas ce qu'il y a dans' config.conf'. – mouviciel