Perintah echo secara otomatis menambahkan baris baru di akhir. Itu keren.
Tetapi bagaimana jika Anda hanya ingin menampilkan baris baru yang kosong? Atau jika Anda ingin menampilkan sesuatu yang berisi baris baru?
Kabar baiknya adalah, echo memungkinkan Anda menggunakan karakter baris baru \n
untuk mencetak baris baru dalam baris keluaran yang sama jika Anda menggunakan -e
pilihan:
echo -e "Name\nAddress\nPhone Number"
Jika Anda menjalankan perintah di atas, Anda akan mendapatkan output ini:
Name
Address
Phone Number
Itu bagus, kan? Mari kita lihat lebih detail.
Tampilkan baris baru dengan -e flag perintah echo (disarankan)
Baris baru adalah istilah yang kami gunakan untuk menentukan bahwa baris saat ini telah berakhir dan teks akan melanjutkan dari baris di bawah baris saat ini. Di sebagian besar sistem mirip UNIX, \n
digunakan untuk menentukan baris baru. Ini disebut sebagai karakter baris baru.
Perintah echo, secara default, menonaktifkan interpretasi dari backslash lolos. Jadi, jika Anda mencoba menampilkan baris baru menggunakan urutan keluar '\n', Anda akan melihat masalah.
$ echo Hello\nworld
Hellonworld
$ echo 'Hello\nworld'
Hello\nworld
Menyertakan teks dalam tanda kutip tunggal sebagai literal string juga tidak berfungsi.
Itu bukan output yang diharapkan. Untuk benar-benar mencetak baris baru, Anda dapat menggunakan tanda '-e' untuk memberi tahu perintah echo bahwa Anda ingin mengaktifkan interpretasi tanda garis miring terbalik.
$ echo -e 'Hello\nworld'
Hello
world
Bagus, itu yang kamu cari.
Biarkan saya beberapa cara lain untuk menampilkan karakter baris baru.
echo variabel yang berisi baris baru
Anda dapat menyimpan string dalam variabel bash dan kemudian menggemakannya menggunakan tanda '-e'.
$ str="Hello\nworld"
$ echo -e $str
Hello
world
Gunakan karakter '$' sebagai ganti -e flag
Simbol dolar, '$' disebut karakter "ekspansi" di bash. Ini adalah karakter yang saya gunakan pada contoh sebelumnya untuk merujuk ke nilai variabel di shell.
Jika Anda melihat lebih dekat cuplikan di bawah ini, Anda akan menyadari bahwa karakter perluasan, dalam hal ini, bertindak untuk memegang nilai sementara.
$ echo Hello$'\n'world
Hello
world
Atau, Anda dapat menggunakan seluruh string sebagai 'variabel sementara':
$ echo $'Hello\nworld'
Hello
world
Saya lebih suka menggunakan -e
bendera.
echo echo Anda untuk mencetak sesuatu dengan baris baru
Saat Anda menggemakan sepotong teks, perintah echo akan secara otomatis menambahkan baris baru (dan inilah cara mencegahnya) ke akhir teks Anda.
Ini berarti Anda dapat merangkai beberapa perintah gema bersama-sama untuk menghasilkan baris baru.
$ echo Hello; echo world
Hello
world
Gunakan printf untuk mencetak baris baru di Bash shell
printf adalah alat baris perintah lain yang pada dasarnya mencetak teks ke terminal, tetapi juga memungkinkan Anda untuk memformat teks Anda.
Penggunaannya sangat sederhana dan mirip dengan echo tetapi sedikit lebih andal dan konsisten.
$ printf 'Hello\nworld\n'
Hello
world
Seperti yang diharapkan, Anda memiliki baris baru tanpa menggunakan tanda apa pun.
Kesimpulan
Secara pribadi, saya lebih suka tetap menggunakan flag -e atau menggunakan perintah printf untuk menampilkan baris baru dalam output. Saya menyarankan Anda untuk melakukan hal yang sama tetapi jangan ragu untuk bereksperimen.