Tôi đang cố chuyển một chuỗi có chứa một dòng mới vào một tập lệnh PHP qua BASH.Chuỗi ống với dòng mới để lệnh trong 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}"
Khi tôi làm điều này, tôi thấy chữ "\ n" chứ không phải là newline thoát:
blah blah issue 0000002.\nU app/controllers/application_controller.rb
Bất kỳ ý tưởng làm thế nào để dịch '\ n' để một dòng mới theo nghĩa đen?
Nhân tiện: < < < làm gì trong bash? Tôi biết < đường chuyền trong một tập tin ...
Tuyệt vời! Nó thực sự-hơn là -a, nhưng đó là chính xác những gì tôi đang tìm kiếm. –
vâng, bạn nói đúng, tôi đã suy nghĩ-nhưng gõ -a ... Tôi sẽ sửa nó. –
'the_cmd <<< word' không * khá * tương đương với 'echo word | the_cmd': '<<<' dường như có khả năng xử lý các chuỗi dài hơn. –