Estoy tratando de pasar una cadena que contiene una nueva línea a un script PHP a través de BASH.Cadena de tuberías con nueva línea al comando en bash?
#!/bin/bash
REPOS="$1"
REV="$2"
message=$(svnlook log $REPOS -r $REV)
changed=$(svnlook changed $REPOS -r $REV)
/usr/bin/php -q /home/chad/www/mantis.localhost/scripts/checkin.php <<< "${message}\n${changed}"
Cuando hago esto, veo el literal "\ n" en lugar de la nueva línea escapado:
blah blah issue 0000002.\nU app/controllers/application_controller.rb
Alguna idea de cómo traducir '\ n' para una nueva línea literal?
Por cierto: ¿qué hace < < < hacer en bash? Sé < pases en un archivo ...
¡Agradable! En realidad es -e en lugar de -a, pero eso es exactamente lo que estaba buscando. –
sí, tienes razón, estaba pensando -escribiendo ... -corregiré esto. –
'the_cmd <<< word' no es * bastante * equivalente a' echo word | the_cmd': '<<<' parece ser capaz de manejar cadenas más largas. –