Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

problemi con if

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

problemi con if

Messaggioda gigicookie » ven lug 20, 2012 12:28 pm

Ho un problema con uno script sh: Anche se le variabili $i ed $n sono uguali, if esegue l' azione che dovrebbe eseguire se fossero diverse. Lo script è questo:

Codice: Seleziona tutto
#!/bin/bash
sudo /usr/lib/AntiVir/guard/gui/bin/antivir_start.real guard_workstation
date=$(date +%d-%m-%y_%H-%M-%S_avscan.log)
mkdir $date
cd $date
if [ $vr2 = 0 ]; then
if [ $vr = 0 ]; then
sudo avscan --batch --scan-mode=all --alert-action=quarantine $b > $date
else
sudo avscan --batch --scan-mode=all --alert-action=quarantine --scan-in-archive=yes $b > $date
fi
else
if [ $vr = 0 ]; then
sudo avscan --batch --scan-mode=all --scan-in-mbox=yes --alert-action=quarantine $b > $date
else
sudo avscan --batch --scan-mode=all --scan-in mbox=yes --alert-action=quarantine --scan-in-archive=yes $b > $date
fi
fi
e=$(cat * | grep 'scan results')
f=$(cat * | grep directories)
g=$(cat * | grep 'scanned files')
h=$(cat * | grep skipped)
i=$(cat * | grep alerts)
l=$(cat * | grep suspicious)
m=$(cat * | grep 'scan time')
n=$(echo "alerts: 0")
export i
export n
if [ ! "$i" = "$n" ]; then
zenity --warning --title AvGui --text "Sono stati trovati dei file infetti e spostati in quarantena\nControlla la quarantena per più info!"
fi
zenity --info --title Avgui --text "Questi sono i risultati della scansione\n$e\n$f\n$g\n$h\n$i\n$l\n$m"

In pratica mi visualizza il warning anche se $i e $n sono uguali.
P.S.
Alcune variabili sembrano non definite ma in realtà sono definite da uno script buc che poi andrà a lanciare questo.
http://www.MegaLab.it/forum/viewtopic.php?f=3&t=52165
Galaxy next turbo+Rom stock 2.3.6+Cor plenus v2.1.7 + S2SD
Nexus 7+Recovery TWRP+Rom stock+MultiROM+Ubuntu 13.04 raring ringtail+Plasma active
Avatar utente
gigicookie
Senior Member
Senior Member
 
Messaggi: 485
Iscritto il: ven apr 06, 2012 6:40 pm

Re: problemi con if

Messaggioda ste_95 » ven lug 20, 2012 12:36 pm

Non conosco con precisione la sintassi, ma sei sicuro che sia corretto

Codice: Seleziona tutto
if [ ! "$i" = "$n" ];


Invece di

Codice: Seleziona tutto
if [ ! $i = $n ];


[ciao]
«A volte è meglio tacere e sembrare stupidi che aprir bocca e togliere ogni dubbio.» Oscar Wilde
Avatar utente
ste_95
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 17271
Iscritto il: lun ago 06, 2007 11:19 am

Re: problemi con if

Messaggioda gigicookie » ven lug 20, 2012 4:45 pm

Se non metto le virgolette dà l' errore [: troppi argomenti. Con uno script di esempio ho risolto modificando le righe delle variabili così:
f=$(cat * | grep alerts)
i=$(echo $f)
n=$(echo "alerts: 0")
Devo ancora controllare con lo script principale visto che ha qualche piccolo problema
http://www.MegaLab.it/forum/viewtopic.php?f=3&t=52165
Galaxy next turbo+Rom stock 2.3.6+Cor plenus v2.1.7 + S2SD
Nexus 7+Recovery TWRP+Rom stock+MultiROM+Ubuntu 13.04 raring ringtail+Plasma active
Avatar utente
gigicookie
Senior Member
Senior Member
 
Messaggi: 485
Iscritto il: ven apr 06, 2012 6:40 pm

Re: problemi con if

Messaggioda gigicookie » ven lug 20, 2012 4:56 pm

Confermo funziona!
http://www.MegaLab.it/forum/viewtopic.php?f=3&t=52165
Galaxy next turbo+Rom stock 2.3.6+Cor plenus v2.1.7 + S2SD
Nexus 7+Recovery TWRP+Rom stock+MultiROM+Ubuntu 13.04 raring ringtail+Plasma active
Avatar utente
gigicookie
Senior Member
Senior Member
 
Messaggi: 485
Iscritto il: ven apr 06, 2012 6:40 pm


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

cron
Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising