Dites, y'a un moyen de passer un "\n" littéral (et je dis bien littéral, ces 2 caractères) à un programme sans que le shell les échappe ?
Parce qu'en faisant un "$(cat file.txt)" d'un fichier qui contient plusieurs lignes, il passe bien au programme la chaîne littérale suivante : "ligne 1\nligne 2\n ligne 3" (notez bien les \n non échappés, que le programme reçoit). Par contre, si je passe un argument '\n', '\\n', "\n", "\\n" (et toutes les autres variantes), le programme reçoit toujours la chaîne échappée, et donc la chaîne "\\n". Voyez le hic ? Insérer le résultat d'un cat me garde bien "\n", mais l'envoyer manuellement me l'échappe toujours en "\\n" pour le programme.
Moyen de faire en sorte que les deux se comportent pareil ?