Ruby escape argumento ou string ARGV como argumento para o comando shell
Ok, isso está me deixando louco:
`ls #{"/media/music/Miles Davis"}`
falha devido ao espaço entre "Miles" e "Davis"
Digo eu escrevo um script ruby e um usuário passa o caminho do arquivo como argumento. Como faço para escapar e alimentar um comando de shell-out. Sim, sim, eu sei, o descasque deve ser evitado. Mas este é um exemplo artificial, eu ainda preciso disso.
Eu fariasystem("ls", ARGV[0])
, mas não retorna a saída stdout de ls como uma string, que é o que os backticks fazem be
Como escapar do que você inserir em um shellout?