Я хотел бы использовать ловушку bash EXIT
и использовать exec
, чтобы избежать появления нового процесса. Возможно ли это?
То есть
#!/bin/bash
touch $0.$$
trap "rm -v $0.$$" EXIT
/bin/echo Hello
удаляет временный файл $0.$$
с помощью bash EXIT
trap
#!/bin/bash
touch $0.$$
trap "rm -v $0.$$" EXIT
exec /bin/echo Hello
никогда не "запускает" ловушку (после завершения сообщения нет сообщения rm
, файл $0.$$
).
Конечно, имеет смысл, что ловушка не может срабатывать, поскольку bash больше не контролируется после exec
. Есть ли способ заставить его работать и использовать exec
? Это, по общему признанию, из любопытства, чем практические вопросы.