1 | #!/usr/bin/env bash
|
2 |
|
3 | set -o nounset
|
4 | set -o pipefail
|
5 | set -o errexit
|
6 |
|
7 | print-output() {
|
8 | local begin=${1:-1}
|
9 | local end=${2:-10}
|
10 |
|
11 | for i in $(seq $begin $end); do
|
12 | echo $i
|
13 | sleep 0.1
|
14 | done
|
15 | }
|
16 |
|
17 | parallel() {
|
18 | print-output 1 10 &
|
19 | print-output 11 20 &
|
20 | wait
|
21 | wait
|
22 | echo done
|
23 | }
|
24 |
|
25 | parallel2() {
|
26 | mkdir -p _tmp
|
27 | print-output 1 10 >_tmp/d1 &
|
28 | print-output 11 20 >_tmp/d2 &
|
29 |
|
30 | # Hm the output is not good because it prints too much
|
31 | # also --pid would be nice for stopping
|
32 | #tail -q -f _tmp/d1 _tmp/d2
|
33 |
|
34 | multitail _tmp/d1 _tmp/d2
|
35 |
|
36 | # UI doesn't have both files?
|
37 | #lnav -t _tmp/d1 _tmp/d2
|
38 |
|
39 | wait
|
40 | wait
|
41 | echo done
|
42 | }
|
43 |
|
44 | # TODO: try this
|
45 | # https://www.vanheusden.com/multitail/
|
46 |
|
47 | "$@"
|