Add new --exec parameter
This parameter uses os.exec*()
to replace the current process with the command and arguments passed as parameters.
This passes craft's environment to the running command while avoiding problems with subprocess handling. For instance, if a shell is run using, e.g., --exec bash
, that shell will be usable just as expected. This is not the case with --run currently
; the pttys aren't allocated properly, providing a severely degraded user experience.