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)

Reply via email to