# File lib/rake/file_utils.rb, line 34
34:   def sh(*cmd, &block)
35:     options = (Hash === cmd.last) ? cmd.pop : {}
36:     shell_runner = block_given? ? block : create_shell_runner(cmd)
37:     set_verbose_option(options)
38:     options[:noop] ||= Rake::FileUtilsExt.nowrite_flag
39:     Rake.rake_check_options options, :noop, :verbose
40:     Rake.rake_output_message cmd.join(" ") if options[:verbose]
41:     unless options[:noop]
42:       res = rake_system(*cmd)
43:       status = $?
44:       status = PseudoStatus.new(1) if !res && status.nil?
45:       shell_runner.call(res, status)
46:     end
47:   end