#!/bin/bash . workDispatcher testcmd() { echo "start: $1" >&2 sleep "$1" echo "stop: $1" >&2 } _cmd="testcmd" DEBUG=1 #PMAX=2 for m in 5 1 1 {5..1}; do echo $m done | dispatchWork