рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЪреАрдЬрд╝реЗрдВ - рдорд╣рд╛рди рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж: +1:
рдореИрдВ рдЕрдм рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рд╣рд╛рдБ ...) рдФрд░ рдореАрдирд╛ рдХреЗ рд╕рд╛рде рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдЧрд┐рдЯ рдмреИрд╢ (mingw32 рдорд╛рдирдХ рдЦреЛрд▓) рдкрд░ рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реАрдЖрд░рдПрд▓рдПрдл рд▓рд╛рдЗрди рдПрдВрдбрд┐рдВрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд┐рдирдХреНрд╕ рдПрд▓рдПрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП "рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдИрдУрдПрдл" рдЬреИрд╕реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред
рдореИрдВ рдЗрд╕ рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рд▓рд╛рдЗрди рдПрдВрдбрд┐рдВрдЧреНрд╕ рдХреЛ рдПрд▓рдПрдл рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ - рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдореАрдирд╛ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдпрд╛ рдПрдХ mingw32 рдмрдЧ рдпрд╛ рдЧрд▓рдд рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ? :)
рд╣рдореНрдоред рдХреНрдпрд╛ рдЖрдк рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рд╡рд┐рдВрдбреЛрдЬ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ?
рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджтАФрджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдорд╢реАрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреБрдЫ рдХрд╛рд▓реНрдкрдирд┐рдХ рд╕реБрдзрд╛рд░реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред Win7x64 рдкрд░ CentOS рдкрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ
bash: -c line 106: unexpected EOF while looking for a matching `"'
рдореЗрд░реЗ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдХреЛ рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд рдХрд░рддреЗ рд╕рдордп рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИред рд╡рд╣ Git Bash (mingw32) рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрдЯрд╛ (рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ) рдкрд░ рд╣реИ рдФрд░ рд╣рдо рдореАрдирд╛ 0.3.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдореБрдЭреЗ рд╡рд┐рдВрдбреЛрдЬ 8.1 x64 рдкрд░ @rezen рдЬреИрд╕реА рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА, рдЬреЛ рдЙрдмрдВрдЯреВ рдПрд▓рдЯреАрдПрд╕ 12.04.3 x64 рдкрд░ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред
@reterius рдореБрдЭреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рд╣реИред
рдЗрд╕ рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрд╕реНрдХрд╛рд░рд┐рдд рдХрд░реЗрдВ, рд▓рд╛рдЗрди рдПрдВрдбрд┐рдВрдЧреНрд╕ рдХреЛ рдПрд▓рдПрдл рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?
рдЕрдм рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХреНрдпреЛрдВред
рд░реВрдмреА рдХреЗ рд▓рд┐рдП Shellwords.escape рд╡рд┐рдзрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ lib/mina.rb рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рдХреЛрдб рдЬреЛрдбрд╝рд╛ред
рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИрдВ!
рдореИрдВ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реВрдБ, рдЗрд╕рд▓рд┐рдП.... рд▓реЗрдХрд┐рди рд╡реИрд╕реЗ рднреА рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
# lib/mina.rb
module Mina
#if windows os
require 'rbconfig'
is_windows = (RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/)
if is_windows
module Shellwords
def shellescape(str)
'"' + str.gsub(/\\(?=\\*\")/, "\\\\\\").gsub(/\"/, "\\\"").gsub(/\\$/, "\\\\\\").gsub("%", "%%") + '"'
end
module_function :shellescape
class << self
alias escape shellescape
end
end
end
...
рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ !! рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдирд╣реАрдВ .... рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ
рдХреНрдпрд╛ рдЗрд╕ рдЯреНрд╡реАрдХ рдиреЗ рдЗрд╕реЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдмрдирд╛рдпрд╛ рд╣реИ?
рдХреНрдпрд╛ рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдЕрдЧрд░ рдореИрдВ @insub рдХреЛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдареАрдХ рдХрд░ рджреВрдВ?
@coredevelopers : рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдЗрд╕реЗ рдЙрдард╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ? рдЗрдирд╕рдм рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рдзрд╛рдиред рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдореБрджрд╛рдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдореВрд▓реА рдкреИрдЪ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ?
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж!
рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рдЬреАрдердм рдорд╛рд╕реНрдЯрд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЕрдм рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХреНрдпреЛрдВред
рд░реВрдмреА рдХреЗ рд▓рд┐рдП Shellwords.escape рд╡рд┐рдзрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ lib/mina.rb рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рдХреЛрдб рдЬреЛрдбрд╝рд╛ред
рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИрдВ!
рдореИрдВ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реВрдБ, рдЗрд╕рд▓рд┐рдП.... рд▓реЗрдХрд┐рди рд╡реИрд╕реЗ рднреА рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред