# File lib/escape.rb, line 65 65: def shell_single_word(str) 66: if str.empty? 67: "''" 68: elsif %r{\A[0-9A-Za-z+,./:=@_-]+\z} =~ str 69: str 70: else 71: result = '' 72: str.scan(/('+)|[^']+/) { 73: if $1 74: result << %q{\'} * $1.length 75: else 76: result << "'#{$&}'" 77: end 78: } 79: result 80: end 81: end