Tag Info

New answers tagged


Process substitution is easily simulated with named pipes. mkfifo logger_input logger -t my_awesome_script < logger_input & exec > logger_input echo 1 echo 2 echo 3 In fact, named pipes are one of the mechanisms (the other being /dev/fd) with which process substitution can be implemented in bash.


I don't think this is possible in dash. As far as I can tell from its man page, it has no support for process substitution. As a workaround, you could try what mikserv suggested, or you can redirect everything to a file, and then after your script is finished (presumably this is in a script), add that file's contents to logger: $ exec > ~/foo/foo.txt $ ...


You can just do: { commands .... } | logger -t my_awesome_script You can do that with any shell. If you don't like the way it looks, maybe make the script wrap itself in a function. #!/bin/sh run() if [ "$run" != "$$" ] then run=$$ exec "$0" "$@" | logger -t my-awesome-script fi #script-body run || do stuff

Top 50 recent answers are included