redirecting command output depending on exit status

Ruben de Groot mail25 at bzerk.org
Wed Apr 20 13:01:29 UTC 2011


On Tue, Apr 19, 2011 at 04:00:52PM +0200, Bastien Semene typed:
> Hi list,
> 
> I have a cron task set up using lockf.
> 
> I'd like to redirect one exit status to /dev/null :
> 
> "it (lockf command) returns one of the exit codes defined in
>      sysexits(3), as follows:
> 
>      EX_TEMPFAIL   The specified lock file was already locked by another
>                    process.
> 
>      EX_CANTCREAT  The lockf utility was unable to create the lock 
> file, e.g.,
>                    because of insufficient access privileges.
> 
>      EX_USAGE      There was an error on the lockf command line.
> 
>      EX_OSERR      A system call (e.g., fork(2)) failed unexpectedly.
> 
>      EX_SOFTWARE   The command did not exit normally, but may have been 
> sig-
>                    naled or stopped."
> 
> I don't care about the EX_TEMPFAIL output as I consider it as a 
> successful exit status, not an error.
> 
> I there a trick to do that in a short way ?

something like

logfile=/var/log/lockf.log
lockf lockfile command
[ $? -eq 75 ] && logfile=/dev/null ## EX_TEMPFAIL is defined to be 75

Ruben


More information about the freebsd-questions mailing list