Prova a fare un check dopo il "su" della variabile $?.. dovrebbe darti l'esito dell'ultima operazione, 0 se successo, !=0 altrimenti.
dici di fare una cosa tipo questa? :
#!/bin/bash
SUCESS=0
ROOT_UID=0
if [ $UID -eq $ROOT_UID ]
then
echo "sei root!"
else
echo "Digita password di root!"; su root
fi
if [ $? -eq $SUCESS ] # :idea:
then
echo ""
else
echo "pass sbagliata..."; exit 0
fi
if ping -w 1 10.0.0.2
then
echo "il pc è connesso alla rete!" ; exit 0
else
echo "il pc non è connesso alla rete! procedo alla connesione ..."
fi
dhclient
echo -n "connesione avvenuta con successo! [PRESS ENTER]"; read ; exit 0
anche facendo questa modifica purtroppo lo script non va :cry: ma ho notato una cosa, una volta che lo script si interrompe e digito exit (per tornare ad essere user) mi continua lo script!
root@vivaLV:/home/riccardo# exit
exit
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.672 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.739 ms
--- 10.0.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.672/0.705/0.739/0.042 ms
il pc è connesso alla rete!
:conf: forse in uno script non si può fare un su root,qualche idea?