From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 17 Aug 2007 14:05:22 +0300 From: Michael Shigorin To: Community@lists.altlinux.org Message-ID: <20070817110522.GH1903@osdn.org.ua> Mail-Followup-To: Community@lists.altlinux.org References: <46C57871.7000007@stc.donpac.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <46C57871.7000007@stc.donpac.ru> User-Agent: Mutt/1.4.2.1i Subject: Re: [Comm] shell logical expressions X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: shigorin@gmail.com, ALT Linux Community List-Id: ALT Linux Community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Aug 2007 11:05:24 -0000 Archived-At: List-Archive: List-Post: On Fri, Aug 17, 2007 at 02:29:05PM +0400, Eugene Prokopiev wrote: > Нужно выполнить несколько команд, если хотя бы одна вернула не > 0, тоже вернуть не 0 и выругаться. Делаю примерно так: > > #!/bin/sh > [ `drbdadm state all | awk -F'/' '{print $1}'` == "Primary" ] > partition=$? > grep drbd0 /proc/mounts > /dev/null > filesystem=$? Я бы переписал где-то так: [ `drbdadm state all | awk -F'/' '{print $1}'` == "Primary" ] \ && grep drbd0 /proc/mounts > /dev/null \ && exit 0 mail ..... Почитай скрипты из пакетов (с)авторства ldv@ и legion@ (в т.ч. control, alterator-*) -- там много интересного можно подметить ;-) У Лёши за последний год или два стиль очень интересный и сжатый стал. При этом читается и работает. > 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. Можно правильнее/проще? > -- ---- WBR, Michael Shigorin ------ Linux.Kiev http://www.linux.kiev.ua/