I'm late to the discussion so I apologize in advance, but this fix seems counterintuitive to me. In my mind, for any shell code: - Return value: exit code of the last command - Output: whatever the commands print So to me, it's intuitive that =:exports value= would return the exit code of the last command, and =:exports output= would produce the output of the commands. I don't understand why a new option is needed. Am I missing something? --Diego On Wed, Feb 19, 2020 at 5:00 PM Bastien wrote: > I've implemented the suggestion I made in master: > > New option ~ob-shell-return-value-is-exit-status~ > > When set to =t=, consider the return value of a shell source code > block is the exit status of its last command. > > The default for this option is =nil=, i.e. the return value of a shell > block is the output of the commands. > > You can turn this on individual blocks by setting the header argument > =:value-is-exit-status= to =t=. > > Please test and let me know if it works. > > Thanks for bringing this up! > > -- > Bastien > >