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).