BASH aracılığıyla bir PHP betiğine yeni satır içeren bir dizeyi iletmeye çalışıyorum. Bunu yaparkenBash'ta komut vermek için yeni hatlı boru dizisi?
#!/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}"
görüyorum "n \" literal ziyade kaçan satır:
bir değişmez yeni satır içinblah blah issue 0000002.\nU app/controllers/application_controller.rb
Herhangi fikirleri nasıl çevirmek için '\ n'? Bu arada < < < < bash'da ne yapıyor? Ben -e ters eğik çizgi yorumlanması bu da ters eğik çizgi yorumlamak edeceğini
Not (man echo
göre) kaçar sağlayan
echo -e "${message}\n${changed}" | /usr/bin/php -q /home/chad/www/mantis.localhost/scripts/checkin.php
size hangi potansiyel kaçar deneyin bir dosyada < geçer ...
Güzel! Aslında -a yerine -e değil, tam da aradığım şey buydu. –
evet, haklısın, düşünüyordum -e ama yazarak -a ... Bunu düzeltirim. –
'the_cmd <<< word' değil * oldukça * eko kelimesine eşdeğer | the_cmd': '<<<', daha uzun dizelerle ilgilenebiliyor gibi görünüyor. –