On Tue, May 24, 2011 at 03:41:53PM +0200, Dejan Muhamedagic wrote: > On Tue, May 24, 2011 at 12:44:42PM +0200, RaSca wrote: > > Il giorno Mar 24 Mag 2011 12:27:04 CET, Dejan Muhamedagic ha scritto: > > > Hi, > > > > Hi Dejan, > > > > [...] > > >> # Read parameters > > >> conf_file="/etc/hetzner.cfg" > > >> user=`cat /etc/hetzner.cfg | egrep "^user.*=" | sed 's/^user.*=\ *//g'` > > > Better: > > > user=`sed -n 's/^user.*=\ *//p' /etc/hetzner.cfg` > > > > Absolutely agree. > > > > >> pass=`cat /etc/hetzner.cfg | egrep "^pass.*=" | sed 's/^pass.*=\ *//g'` > > >> hetzner_server="https://robot-ws.your-server.de" > > > I assume that this is a well-known URL which doesn't need to be > > > passed as a parameter. > > > > As far as I know it is the only address, I hard-coded it for this > > reason, but maybe should be a parameter... > > OK. > > > >> is_host_up() { > > >> if [ "$1" != "" ] > > >> then > > >> status=`curl -s -u $user:$pass $hetzner_server/server/$1 | sed > > >> 's/.*status\":"\([A-Za-z]*\)",.*/\1/g'` > > >> if [ "$status" = "ready" ] > > >> then > > >> return 0 > > >> else > > >> return 1 > > >> fi > > > This if statement can be reduced to (you save 5 lines): > > > [ "$status" = "ready" ] > > >> else > > >> return 1 > > >> fi > > >> } > > > > You mean the statement should be: > > > > [ "$status" = "ready" ] && return 0 > > return 1 > > > > ? > > No, just [ "$status" = "ready" ]. The return is implied at the > end of the function and the code is the exit code of the last > command. > > > [...] > > > Again, better (is return code of is_host_up inverted?): > > > is_host_up "$hostaddress" > > > exit # this is actually also superfluous, but perhaps better left in > > > > The action is reset, so if I had success then is_host_up must be NOT > > ready. Or not? > > Right, sorry, I should've turned on my brain beforehand. You can > try this: > > exit $((! $?)) > > That is going to invert the code.
the shell has ! for that. ! is_host_up Coffee? ;-) -- : Lars Ellenberg : LINBIT | Your Way to High Availability : DRBD/HA support and consulting http://www.linbit.com DRBD® and LINBIT® are registered trademarks of LINBIT, Austria. _______________________________________________________ Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/