EXIT 트랩에서 시작된 백그라운드 작업의 이름이 잘못되었습니다.

EXIT 트랩에서 시작된 백그라운드 작업의 이름이 잘못되었습니다.

다음 스크립트:

#!/bin/bash

set -m

atexit() {
    sleep 1 &
    jobs
}

trap atexit EXIT

echo Hello world

다음과 같은 출력이 생성됩니다.

$ bash ./foo.sh
Hello world
[1]+  Running                 echo Hello world &

echo Hello world &왜 대신 백그라운드 작업의 이름이 사용됩니까 sleep 1 &?

관련 정보