PDA

Visualizza la versione completa : problema con script bash e if


nik600
14-08-2006, 11:35
ciao

dovrei fare un if su l'output di un programma

c' un programma che mi stampa a video 1 o 0, io voglio assegnare 1 o 0 ad una variabile e poi fare un if su questa variabile

questo il codice che ho scritto io:



#!/bin/bash

SPAMPREF_PROGRAM=`/home/programmi/nik_spampref/bin/nik_spampref /home/programmi/nik_spampref/etc/conf1.conf info@prova.it`

echo $SPAMPREF_PROGRAM;

if ["$SPAMPREF_PROGRAM" = "1"]
then
echo "consegno";

else
echo "non consegno";

fi


e questo l'outptu che ottengo:



1
./prove: line 7: [1: command not found
consegno



dove sbaglio?

ho provato anche a paragonarli come interi, ma senza risultato:

if [$SPAMPREF_PROGRAM= 1]

cacao74
14-08-2006, 11:49
distanzia con uno spazio la condizione dell'istruzione if all'interno delle parentesi quadre


if [ condizione ]; then
istruzioni
fi

ciao

nik600
14-08-2006, 11:51
cavolo era proprio quello, grazie!

nik600
14-08-2006, 13:15
ora ho un'altro problema...

vorrei assegnare ad una variabile il risultato di 2 comandi con la pipe:



IS_SPAM= `/bin/grep X-Spam-Status:\ Yes /path/file | /usr/bin/wc -l`

if [ "$IS_SPAM" = "1" ]
then
echo " una spam";
fi




per ottengo questo errore:
/home/programmi/script/filtra: line 29: 1: command not found

dove la riga 29 corrisponde a
IS_SPAM= `/bin/grep X-Spam-Status:\ Yes /path/file | /usr/bin/wc -l`

nik600
14-08-2006, 13:19
ah ho risolto!

anche qui era lo spazio dopo l'uguale che in questo caso non ci va

Loading