There are also a few convenient decorators that make it easier to operate with
simple commands.

Shell.Safe

Shell.Safedecorates an instance of Shell and
throws an exception
if the exec exit code is not equal to zero. This may be very useful when
you want to make sure that your command executed successfully, but don't
want to duplicate if/throw in many places of your code.

Shell.Plain

Shell.Plain is a wrapper of Shell that introduces a new exec method
with only one argument, a command to execute. It also doesn't return an
exit code, but stdout instead. This should be very convenient when you want
to execute a simple command and just get its output
(I'm combining it with Shell.Safe for safety):