On 10/07/2017 02:53 PM, Martijn Dekker wrote:
> The bash manual and info pages state:
> 
> | If the search is unsuccessful, the shell searches for a
> | defined shell function named 'command_not_found_handle'.  If that
> | function exists, it is invoked with the original command and the
> | original command's arguments as its arguments, and the function's
> | exit status becomes the exit status of the shell.
> 
> This fails to mention that command_not_found_handle() is run in the
> subshell forked to 'exec' the command, so even an explicit 'exit' will
> not exit anything but that subshell. It also means a command handler
> can't do anything that influences the main shell, except send it a
> signal with 'kill'.

Yeah I wish it didn't do that. If I wanted a subshell I'd add one myself.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to