On 2007-10-24 Paolo wrote:
[...]
$iptables -t mangle -P OUTPUT ACCEPT &&\ $iptables -t mangle -P INPUT ACCEPT &&\ $iptables -t mangle -P POSTROUTING ACCEPT &&\ echo "Policing .......................................... [ OK ]" || { echo "Something broke in 'Policing'!" exit 1 }You don't want to do that, because the term in curled braces is executed when *any* of the previous commands fails (including the echo).
This is a Debian list. Debian uses bash as /bin/sh. Bash has echo as an builtin which always returns exit status 0, so it never fails.
Also, when a script is not even able to output its diagnostics, I would consider this as a failure too (guarding against failure of echo would be nice when enabling/disabling IP forwarding ...). On the other hand, echoing error messages when a previous echo failed is, ahemm, not very productive, at least writing the error messages to syslog via logger (at level "err" or higher) would IMHO be advisable.
Ralf Döblitz