|
|
|
![]() |
|
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: 1624
|
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 22:10. |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jun 2007
Messaggi: 1624
|
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: 03:13.