# File lib/rake.rb, line 712
712:   def sh(*cmd, &block)
713:     options = (Hash === cmd.last) ? cmd.pop : {}
714:     unless block_given?
715:       show_command = cmd.join(" ")
716:       show_command = show_command[0,42] + "..." 
717:         # TODO code application logic heref show_command.length > 45
718:       block = lambda { |ok, status|
719:         ok or fail "Command failed with status (#{status.exitstatus}): [#{show_command}]"
720:       }
721:     end
722:     rake_check_options options, :noop, :verbose
723:     rake_output_message cmd.join(" ") if options[:verbose]
724:     unless options[:noop]
725:       res = system(*cmd)
726:       block.call(res, $?)
727:     end
728:   end