Himmm... I think when erl is not present, the output wouldn't include "bash: line2:"... 

Also I think shell_out will throw an exception when the command doesn't exist on the system. Maybe we need to have a common mechanism for "command not found" ?