Ruby et les commandes shell

Ruby dispose d'un outil fort pratique pour "échapper" (traduction directe de "escape" en anglais) les caractères et mots clés réservés dans les commandes Shell : Shellwords.escape de la librairie Shellwords.

L'usage est tout simple :

  • on commence par charger la librairie
require 'shellwords'
  • et on peut ensuite échapper toute chaîne de caractère dans une commande lancée au Shell, par exemple :
resultat_de_la_commande = `getfacl -p #{Shellwords.escape(folder)}`