Hi, At Thu, 22 Jan 2009 16:58:47 +0900, Julien Biard wrote in [ruby-talk:325582]: > I would like to execute call system on a filename with a backquote (`), > but I don't know how to escape it. Escaping depends on platforms. > -> ls "[Shawn Lee]/10. Shawn Lee\`s Ping Pong Orchestra - Bollywood.mp3" > -rw-r--r-- 1 hobs medias 3,0M 2009-01-18 15:16 [Shawn Lee]/10. Shawn > Lee`s Ping Pong Orchestra - Bollywood.mp3 > > >> s = "[Shawn Lee]/10. Shawn Lee`s Ping Pong Orchestra - Bollywood.mp3" > => "[Shawn Lee]/10. Shawn Lee`s Ping Pong Orchestra - Bollywood.mp3" In 1.8.7 or later, Shellwords.escape exists. require 'shellwords' `ls #{Shellwords.escape(s)}` Or, multiple arugment #exec bypasses shell. IO.popen("-") {|f| f or exec("ls", s); f.read} In 1.9, IO.popen can handle an array argument. IO.popen(["ls", s], &:read) -- Nobu Nakada