GNU/Linux >> Belajar Linux >  >> Linux

Cara menggemakan Baris Baru di Bash Shell Script

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.

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.


Linux
  1. Parameter Khusus Bash Dijelaskan dengan 4 Contoh Skrip Shell

  2. Parameter Posisi Bash Dijelaskan dengan 2 Contoh Skrip Shell

  3. Bagaimana cara menyisipkan baris baru di skrip shell Linux?

  1. Bagaimana Cara Mengubah Cron Shell (sh ke Bash)?

  2. Bagaimana Membandingkan String di Bash Shell Scripting

  3. gema teks dengan baris baru di bash

  1. Bagaimana Menggemakan Bang!?

  2. Parameter baris perintah dalam skrip shell

  3. Bagaimana caranya:Riwayat Bash/Shell yang tidak terbatas?