however, the exec command still isn't quite complete. Normally, you'd want a command to be exec'ing.
In theory, the exec command by itself should (I think) just redirect for the rest of your commands... However, it would appear that there's a bug in bash for that syntax. (i.e. If I type it in on the command line, It doesn't work for me, either).
In this case, I think you're going to be better off to just start your processes with the output going direct logger...
my (more successful) way of doing this is:
{ command 1 command2 command3 } | logger -t $0[$$]
(needs a semicolon before the '}' if it's a one-liner.
It's also more portable (compatible with old bourne shells) I prefer to save things like the named pipe syntax for the really ornery situations where bourne-compatible syntax jusr doesn't do the job.
Andreas Schwab wrote: > Stephen Samuel <samuel@xxxxxxxxxxx> writes: >>Christoph Pleger wrote: >>>Hello, >>>In my initialization scripts for hotplug (written for bash) the >>>following command is used to redirect output which normally goes to >>>stderr to the system logger: >>>"exec 2> >(logger -t $0[$$])" >> >>I don't remember this syntax as legal. > > That's the process substitution feature of bash, quite handy when you want > to get an fd connected to a pipe.
-- Stephen Samuel +1(604)876-0426 samuel@xxxxxxxxxxx http://www.bcgreen.com/~samuel/ Powerful committed communication. Transformation touching the jewel within each person and bringing it to light. - : send the line "unsubscribe linux-admin" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html