Andreas Schwab wrote in <87h6lueids....@igel.home>: |On Nov 09 2023, Greg Wooledge wrote: | |> re='^\[([0-9]+)\]' |> jobspecs=() |> while IFS= read -r line; do |> if [[ $line =~ $re ]]; then |> jobspecs+=( "%${BASH_REMATCH[1]}" ) |> fi |> done < <(jobs -l) | |That fails for multi-line commands that happen to contain matches for |re. | |$ (sleep 100; printf $'\n[100]\n') &
Bummer. Same is true for my thing. Seems to me bash(1) should quote the output of jobs -l. --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)