Muy bien, este me está volviendo loca:rubí escapar argumento ARGV o cadena como argumento para shell de comandos
`ls #{"/media/music/Miles Davis"}`
falla debido al espacio entre "Miles" y "Davis"
Di escribo un rubí script y un usuario pasa la ruta del archivo como un argumento. ¿Cómo puedo escapar y alimentar a un comando de salida? Sí, sí, lo sé, los bombardeos deben evitarse. Pero este es un ejemplo artificial, todavía necesito esto.
Haría system("ls", ARGV[0])
, pero no devuelve la salida stdout de ls como una cadena, que es lo que hacen bien los backticks.
¿Cómo se puede escapar lo que inserte en un contenedor?
Excelente! ¡Gracias! No sabía sobre ese módulo. – ulver
También puede usar el atajo 'String # shellescape', como este: ' ls # {"/ media/music/Miles Davis" .shellescape} ' – cgenco