|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2005
Città: Ravenna
Messaggi: 1937
|
Bash script: non capisco dove sbaglio
Codice:
#check if master virtualmachine is off or unreachable
if [[ ${NOMASTER} || "${STATUS1}" == "off" ]]
then
Non dovrebbe farlo cavoli!!!
__________________
Dell Inspiron 1720 Ice White Windows 7 Pro/Archlinux x86_64 - 3.0.x -Gnome3 Msi Wind U100 Windows Xp/Ubuntu 11.04 - Gnome3 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
ma l'OR è indicato con "||" ?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2005
Città: Ravenna
Messaggi: 1937
|
__________________
Dell Inspiron 1720 Ice White Windows 7 Pro/Archlinux x86_64 - 3.0.x -Gnome3 Msi Wind U100 Windows Xp/Ubuntu 11.04 - Gnome3 |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2004
Messaggi: 9516
|
se
STATUS1 == "off" va bene |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2007
Messaggi: 1625
|
mi sembra giusto che entri, il then viene eseguito se l'if è true; come di fatto è (sempre se nomaster vale sempre 1)
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Mar 2005
Città: Ravenna
Messaggi: 1937
|
Quote:
Ho controllato 10 volte sta cosa, perchè mi pareva strano, eppure...
__________________
Dell Inspiron 1720 Ice White Windows 7 Pro/Archlinux x86_64 - 3.0.x -Gnome3 Msi Wind U100 Windows Xp/Ubuntu 11.04 - Gnome3 Ultima modifica di Cobra78 : 08-06-2010 alle 23:10. |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2007
Messaggi: 1625
|
visto che come si è capito non ho mai usato la bash, == è anche qui un operatore di ugualianza?
In questo caso, valendo off status dall'ugualianza restituisce un true e entra nel then |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Come dice killercode ti consiglierei di testare esplicitamente il valore (esempio che ho sotto mano):
Codice:
if [[ ${$?} -ne 0 ]]; then
echo "fallito"
else
echo "riuscito"
fi
Codice:
if ping -c1 www.google.it 2>&1 > /dev/null ; then echo "true: $?" fi Codice:
gimli@kwankey ~$ if [[ ${NON_ESISTO} ]] ; then echo "true" ; fi
gimli@kwankey ~$ ESISTO=""
gimli@kwankey ~$ if [[ ${ESISTO} ]] ; then echo "true" ; fi
gimli@kwankey ~$ ESISTO="0"
gimli@kwankey ~$ if [[ ${ESISTO} ]] ; then echo "true" ; fi
true
gimli@kwankey ~$ ESISTO="PIPPO"
gimli@kwankey ~$ if [[ ${ESISTO} ]] ; then echo "true" ; fi
true
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Mar 2005
Città: Ravenna
Messaggi: 1937
|
Solo che 0 l'ho inserito come valore numerico, non come stringa, e ho testato anche con gli operatori di confronto......mmmh....
Oggi faccio qualche altro test.
__________________
Dell Inspiron 1720 Ice White Windows 7 Pro/Archlinux x86_64 - 3.0.x -Gnome3 Msi Wind U100 Windows Xp/Ubuntu 11.04 - Gnome3 |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Mar 2005
Città: Ravenna
Messaggi: 1937
|
Alla fine ho risolto usando -eq, è che mi pareva di averci già provato e non avesse funzionato....BOH!
__________________
Dell Inspiron 1720 Ice White Windows 7 Pro/Archlinux x86_64 - 3.0.x -Gnome3 Msi Wind U100 Windows Xp/Ubuntu 11.04 - Gnome3 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:40.




















