How to save multiple $! into variables and use it later in bash?

前端 未结 3 1406
無奈伤痛
無奈伤痛 2021-01-27 07:02

I want to get the pids of two background processes,

sleep 20 & pid1=$\\!; sleep 10 & pid2=$\\!; echo \"pid1: $pid1, pid2: $pid2\"

and

3条回答
  •  失恋的感觉
    2021-01-27 07:33

    The backslash is causing the value to be the string $! verbatim. Don't put a backslash in the assignment.

    On the command line, you may want to temporarily set +H to avoid getting event not found warnings; but this only affects the interactive shell. In a script, set -H is never active (and would be meaningless anyway).

    (I'm speculating this is the reason you put the backslash there in the first place. If not, simply just take it out.)

提交回复
热议问题