Gunakan echo , itu akan secara otomatis menambahkan baris baru:
echo "`curl -s "http://myserver.com/api?param=1¶m=2"`" | sudo tee -a /var/log/myserver.log
Sebagai alternatif, Anda dapat mencoba -w opsi, tetapi saya menemukan bahwa itu entah bagaimana mencetak karakter lucu ke konsol (tetapi tidak ke file, untungnya):
curl -s "http://myserver.com/api?param=1¶m=2" -w "\n" | sudo tee -a /var/log/myserver.log
Yang paling sederhana adalah menambahkan baris baru menggunakan echo
curl -s "http://myserver.com/api?param=1¶m=2" | sudo tee -a /var/log/myserver.log && echo "" >> /var/log/myserver.log
Saya menggunakan awk 1 untuk itu (di mana 1 hanyalah sesuatu yang dinilai benar):
$ printf a|awk 1
a
$ printf a\\n|awk 1
a
$
Itu harus bekerja dengan gawk, BWK awk / nawk (yang datang dengan OS X), dan mawk (yang datang dengan Debian). sed -n p berfungsi dengan sed OS X tetapi tidak dengan sed GNU.
Alternatif khusus Bash:
printf %s\\n "$(cat)"
Perhatikan bahwa $() menghapus semua umpan baris dari akhir, misalnya echo $'a\n\n'|printf %s\\n "$(cat)" hanya mencetak satu umpan baris.
Anda juga dapat mengganti printf %s\\n dengan echo , tetapi misalnya x=-nene;echo "$x" tidak mencetak apa pun di Bash (kecuali xpg_echo dan mode POSIX diaktifkan).