Sebagai pemula ketika Anda mulai bekerja dengan skrip Bash, perintah pertama yang mungkin akan Anda pelajari dan gunakan adalah perintah echo. Anda dapat memikirkan perintah bash echo sesuatu yang mirip dengan perintah print dalam bahasa pemrograman lain. Perintah echo adalah built-in bash dan tujuannya adalah untuk mencetak output ke stdout (yaitu Terminal).
Pada artikel ini, saya akan menunjukkan kepada Anda apa itu perintah bash echo dan bagaimana menggunakannya dalam skrip shell Anda. Sebelum kita masuk ke topik, mari kita lihat perbedaan antara bulit-in Bash dan perintah eksternal.
Contents
Bash built-in echo vs external echo commandMenampilkan perintah bash echo helpStruktur perintah echoCara menekan karakter baris baruApa yang terjadi jika tidak ada argumen passBekerja dengan variabel dan perintahDampak penggunaan tanda kutip tunggal dan gandaPengalihan dan pemipaan keluaranOutput stringBackslash lolos interpretasiKarakter baris baru - nTab horizontal - ttab Vertikal - vSuppress output - cCarriage return - rDisable backslash escapes interpretasiConclusionBash built-in echo vs external echo command
Di Linux dan sistem mirip Unix lainnya, beberapa perintah disediakan sebagai perintah internal dan eksternal. Sebagai contoh, /bin/echo adalah perintah eksternal yang memiliki nama yang sama dengan echo bash builtin.
Ketika kita memanggil perintah yang ada baik sebagai builtin maupun sebagai perintah eksternal, biasanya built-in dijalankan secara default. Karena, urutan prioritas untuk nama perintah adalah alias, lalu fungsi, lalu bawaan, dan kemudian perintah eksternal di direktori yang terdaftar di $PATH secara berurutan.
Jika Anda ingin memaksa perintah eksternal yang tersedia sebagai perintah internal dan eksternal, cukup gunakan path lengkapnya.
Untuk membuatnya lebih jelas, perintah berikut memanggil bash built-in:
$ echo
Dan panggilan berikut echo eksternal command:
$ /bin/echo
Untuk mengetahui apakah suatu perintah merupakan perintah bawaan atau eksternal, kita dapat menggunakan perintah ketik:
$ type echo echo is a shell builtin
Untuk menampilkan semua lokasi yang berisi executable yang ditentukan, gunakan -a flag:
$ type -a echo echo is a shell builtin echo is /usr/bin/echo
Untuk detail lebih lanjut tentang penggunaan perintah jenis, lihat tautan berikut:
Tutorial Perintah Jenis Dengan Contoh Untuk Pemula Melalui panduan ini, kita akan membahas bash perintah echo bawaan, bukan perintah eksternal.
Tampilkan perintah bash echo help
Hampir semua perintah Linux di luar sana memiliki halaman manual atau bagian bantuan untuk memahami cara menggunakan perintah itu. Manual bantuan dari perintah echo disertakan dalam halaman manual Bash
Untuk mengakses halaman manual untuk perintah bash, jalankan:
$ man bash
Sekarang, ketik /echo dan tekan n sampai Anda melihat bagian bantuan dari perintah echo.
Atau, Anda dapat menggunakan perintah satu baris berikut untuk menampilkan bagian bantuan dari perintah echo:
$ man bash | less --pattern='^ *echo +['Structure of the echo command
The echo command menerima tiga argumen opsional dan teks yang akan dicetak ke stdout.
echo [-neE] [arg ...] -n → Jangan tambahkan baris baru -e → aktifkan interpretasi backslash escape -E → nonaktifkan interpretasi backslash escape (default)
Mari kita lewati tiga argumen opsional untuk saat ini dan lihat cara menggunakan echo untuk mencetak teks ke stdout (Terminal).
Anda dapat menjalankan potongan kode berikut secara langsung di terminal atau membuat file skrip dan kemudian menjalankannya. Saya akan menjalankannya langsung di Terminal:
$ echo "Hello World" Hello World
Perhatikan contoh di atas. Ini adalah program hello world tradisional yang kami jalankan setiap kali kami mempelajari bahasa baru dan menjalankannya sebagai kode pertama. Perintah echo di sini menerima teks "hello world" sebagai argumen dan mencetaknya ke terminal (Stdout).
Cara menekan karakter baris baru
Perilaku default dari perintah bash echo adalah, secara otomatis akan menambahkan baris baru (n). Jalankan program hello world yang sama lagi dan perhatikan terminal prompt akan ditampilkan di baris baru.
$ echo "Hello world" Hello world
Sekarang jika Anda ingin menekan perilaku ini, Anda dapat menggunakan flag "-n" yang akan menekan baris baru dan prompt terminal akan dicetak pada baris yang sama seperti yang ditunjukkan di bawah ini.
$ echo -n "Hello world" Hello worldApa yang terjadi ketika tidak ada argumen yang dilewatkan
Ketika tidak ada argumen yang diteruskan ke perintah echo, perintah tidak akan gagal tetapi akan kembali baris baru yang kosong. Luncurkan terminal Anda dan jalankan "echo" dan Anda akan melihatnya hanya mencetak baris kosong dan keluar.
$ echo
$ echo $?0
Anda dapat mengesampingkan perilaku ini dengan menambahkan flag "-n" yang tidak akan mencetak baris baru meskipun tidak argumen diteruskan.
$ echo -n
Di mana ini akan berguna? Anda mungkin bertanya-tanya. Bila Anda menginginkan beberapa baris kosong di antara output Anda, Anda dapat menggunakan echo tanpa argumen.
Bekerja dengan variabel dan perintah
Perintah echo akan menafsirkan variabel yang ditentukan pengguna atau shell yang diteruskan sebagai argumen dan mencetak nilainya. Lihatlah contoh-contoh di bawah ini.
Pertama, variabel env "SHELL" diteruskan ke perintah echo dan mencetak nilai variabel.
# Variabel Lingkungan: $ echo " Saat ini saya menggunakan ${SHELL}" Saat ini saya menggunakan /bin/bash
Kedua, variabel yang ditentukan pengguna "NAME" diteruskan ke perintah echo dan nilainya dicetak ke terminal.
# Variabel Buatan Pengguna: $ NAME="PoP_OS" $ echo "Saya menggunakan ${NAME}" Saya menggunakan PoP_OS
Anda juga dapat menjalankan perintah di dalam argumen. Lihatlah contoh di bawah ini di mana perintah "uname -r" dilewatkan sebagai argumen dan perintah tersebut ditafsirkan dan hasilnya dicetak.
$ echo "KERNEL_VERSION=$(uname -r)" KERNEL_VERSION=5.11.0- 7620-genericImpact dari penggunaan tanda kutip tunggal dan ganda
Dalam semua contoh sebelumnya, Anda mungkin telah memperhatikan bahwa saya telah menggunakan tanda kutip ganda di sekitar argumen. Jadi apa yang terjadi jika argumen tidak dilampirkan dengan tanda kutip? Perintah Echo tidak akan gagal dan Anda akan mendapatkan output yang sama.
Lihat contoh berikut. Saya menjalankan perintah yang sama yang saya gunakan di bagian sebelumnya tetapi tanpa tanda kutip dan mencetak output tanpa error.
$ echo Saya menggunakan ${NAME} Saya menggunakan Pop_OS
Sebagai praktik yang baik, selalu sertakan argumen dengan tanda kutip.
Jika argumennya berupa teks biasa, Anda dapat menggunakan tanda kutip tunggal atau ganda. Tetapi jika Anda ingin menjalankan perintah apa pun atau memperluas variabel apa pun dalam argumen, Anda harus menggunakan tanda kutip ganda, bukan tanda kutip tunggal.
Tanda kutip tunggal akan mencegah perintah apa pun untuk dijalankan atau variabel diperluas. Itu hanya akan memperlakukan seluruh argumen sebagai teks biasa.
Perhatikan contoh di bawah ini. Ketika saya menyertakan argumen dengan tanda kutip tunggal, variabel "NAME" tidak ditafsirkan dan diperlakukan sebagai text.
# SINGLE QUOTES $ echo 'I am using ${NAME}' I am using ${NAME} # DOUBLE QUOTES $ echo " Saya menggunakan Linux ${NAME}" Saya menggunakan Linux PoP_OSOutput redirection dan piping
Seperti yang dinyatakan sebelumnya, perintah echo mencetak output ke output standar (terminal) secara default. Saat Anda menulis skrip shell, Anda mungkin berakhir dalam situasi untuk menyimpan output dari perintah echo ke file. Anda dapat melakukan ini menggunakan operator pengalihan bash.
$ echo "Selamat datang di OSTechNix"> /tmp/op.log
$ cat /tmp/op.log Selamat datang di OSTechNix
Baca yang disarankan: Pengalihan
Bash Dijelaskan Dengan Contoh Tutorial Bash Heredoc Untuk PemulaAnda juga dapat melakukannya kirim output dari perintah echo ke pipa untuk diproses lebih lanjut.
$ echo "Saya menggunakan ${NAME}" Saya menggunakan PoP_OS
$ echo "Saya menggunakan ${NAME}" | grep -i -o POP PoPMultiline string
Argumen Anda terkadang muncul ke lebih dari satu baris. Anda dapat menyertakan argumen multiline dengan tanda kutip ganda untuk mencetak output dengan mempertimbangkan baris, tab, dan spasi baru.
$ echo "Ini adalah Baris 1Ini adalah Baris 2Ini adalah Baris 3"
Dalam beberapa kasus, meskipun argumen Anda diteruskan sebagai string multibaris , Anda mungkin ingin mencetaknya sebagai satu baris. Dalam kasus seperti itu, gunakan simbol "" di akhir setiap baris, sehingga baris berikutnya akan bersambung dengan baris sebelumnya.
$ echo "Saya menjalankan perintah echo lagi"
Contoh output:
Saya menjalankan perintah echo lagi
Ini tidak secara eksklusif khusus untuk perintah bash echo. Anda dapat menggunakan pendekatan ini untuk menelurkan perintah yang sangat besar ke multiline untuk keterbacaan yang lebih baik.
Backslash lolos dari interpretasi
Perintah echo menerima banyak karakter yang diloloskan sebagai argumen. Agar karakter khusus ini dikenali oleh perintah echo, tanda "-e" harus diteruskan. Anda bisa mendapatkan daftar karakter khusus yang didukung dari halaman manual perintah echo.
Anda tidak akan menggunakan semua karakter khusus dalam kehidupan sehari-hari Anda. Anda sebagian besar akan menggunakan karakter baris baru, tab, dan karakter garis miring terbalik.
Karakter baris baru - n
Baris baru akan ditambahkan saat Anda meneruskan n ke perintah echo. Anda juga dapat melewati beberapa n yang akan menambahkan lebih banyak baris.
$ echo -e "Ini adalah baris pertamanIni adalah baris keduanIni adalah baris ketiga"
Contoh keluaran:
Ini adalah baris pertama Ini adalah yang kedua Baris Ini adalah tab lineHorizontal ketiga - t
Ketika t digunakan, itu akan menambah spasi tab. Anda juga dapat menggabungkan beberapa karakter escape seperti yang saya lakukan di bawah ini.
$ echo -e "Masukkan U_NAMEt:n" Masuk ke U_NAME :Vertical tab - v
Untuk membuat tab secara vertikal, gunakan v.
$ echo -e "Enter the usernamevEnter the password" Enter the username Enter the passwordSuppress output - c
Ketika c digunakan, apa pun yang muncul setelah c akan disembunyikan.
$ echo -e "Saya menggunakan cCosmic Desktop" Saya menggunakanCarriage return - r
Ketika r digunakan, kursor direset ke karakter pertama dan apa pun yang muncul setelah r dicetak menggantikan karakter yang ada.
$ echo -e "Saya menggunakan Arch, rBtw" Btwse Arch,Disable backslash lolos interpretasi
Default perilaku perintah echo apakah ia akan memperlakukan karakter khusus sebagai teks biasa kecuali -e flag dilewatkan. Perilaku yang sama dapat dicapai dengan menggunakan flag -E.
Saya akan menunjukkan kepada Anda sebuah contoh.
Biarkan saya menjalankan perintah echo tanpa flag:
$ echo "Selamat datang di OSTechNix nblog" Selamat datang di OSTechNix nblogBerikutnya, saya menjalankan perintah yang sama with -E Flag:
$ echo -E "Selamat datang di OSTechNix nblog" Selamat datang di OSTechNix nblog
Seperti yang Anda lihat, hasilnya sama ketika saya menjalankan perintah echo dengan flag -E dan tanpa flag. Dalam kedua kasus, perintah echo memperlakukan /n karakter khusus sebagai string biasa.
Sekarang izinkan saya menjalankan perintah yang sama lagi, tetapi kali ini dengan -e flag.
$ echo -e "Selamat datang di OSTechNix nblog"Selamat datang di OSTechNixblog
Apakah Anda melihat perbedaan? Perintah echo tidak memperlakukan karakter /n sebagai teks biasa dan menampilkan apa pun yang muncul setelah karakter khusus /n di baris baru.
Oleh karena itu, jika Anda ingin menggunakan karakter khusus seperti n, t, v dll. , Anda harus menggunakan -e bendera. Jika tidak, echo akan memperlakukan semuanya sebagai string biasa.
Izinkan saya menunjukkan contoh lain.
$ echo -e "Hello worldnHello WorldnHello World" Hello world Hello World Hello World
Seperti yang Anda lihat pada output di atas, perintah echo menampilkan "Halo World" string tiga kali, satu per satu (yaitu di baris baru).
Bagaimana jika Anda hanya ingin keluar dari karakter khusus tertentu? Di sinilah garis miring terbalik ganda () datang untuk menyelamatkan.
Misalnya, saya ingin keluar dari karakter khusus /n ketiga pada perintah sebelumnya.
Untuk melakukannya, saya akan mengawali karakter khusus ketiga dengan garis miring terbalik ganda() seperti di bawah ini:
$ echo -e "Hello worldnHello World\nHello World" Halo dunia Halo DunianHalo Dunia
Sekarang, perintah echo memperlakukan n karakter khusus ketiga sebagai string biasa.
Oleh karena itu, ketika Anda memiliki banyak karakter khusus dan Anda hanya ingin keluar dari karakter khusus tertentu, Anda perlu menambahkan garis miring terbalik ganda () di depan karakter khusus tersebut.
Conclusion
Dalam artikel ini, kita telah melihat apa itu perintah echo dan berbagai cara untuk menggunakannya. Ini adalah perintah yang sangat sederhana dan tidak akan ada skrip shell tanpa menggunakan perintah echo kecuali Anda memutuskan untuk menggunakan printf yang merupakan alternatif untuk perintah echo di bash.