[Comm] shell logical expressions

Eugene Prokopiev =?iso-8859-1?q?prokopiev_=CE=C1_stc=2Edonpac=2Eru?=
Пт Авг 17 14:29:05 MSD 2007


Здравствуйте!

Нужно выполнить несколько команд, если хотя бы одна вернула не 0, тоже 
вернуть не 0 и выругаться. Делаю примерно так:

#!/bin/sh

[ `drbdadm state all | awk -F'/' '{print $1}'` == "Primary" ]
partition=$?
grep drbd0 /proc/mounts > /dev/null
filesystem=$?

if [ $partition != '0' ] || [ $filesystem != '0' ] ; then
mail -s "HAD Monitor fail" root << EOF
drbd state:
`cat /proc/drbd`

mount state:
`grep drbd0 /proc/mounts`
EOF
exit 1
else
exit 0
fi

Но не оставляет ощущение кривизны куска кода с if. Можно правильнее/проще?

-- 
С уважением,
Прокопьев Евгений




Подробная информация о списке рассылки community