Perbedaan antara kutipan tunggal dan ganda dalam bash

Perbedaan antara kutipan tunggal dan ganda dalam bash

Bash, shell yang digunakan di sebagian besar distribusi Linux, menyediakan beberapa cara untuk mengutip string. Di antaranya, kutipan tunggal (") dan kutipan ganda ("") adalah yang paling umum digunakan. Meskipun mereka mungkin terlihat serupa, mereka memiliki perilaku yang berbeda dan dapat mempengaruhi bagaimana shell menginterpretasikan isi string.

Dalam artikel ini, kami akan mengeksplorasi perbedaan antara kutipan tunggal dan ganda dalam bash.

Kutipan tunggal (")

Kutipan tunggal digunakan untuk melampirkan string dalam bash. Saat string tertutup dalam kutipan tunggal, shell memperlakukan isi string sebagai string literal, tanpa interpretasi apa pun. Ini berarti bahwa semua karakter khusus di dalam kutipan tunggal diperlakukan sebagai karakter biasa, dan tidak ada ekspansi atau substitusi yang terjadi.

Misalnya, jika kita memiliki string yang berisi tanda dolar ($), yang merupakan karakter khusus dalam bash, dan kami melampirkannya dalam kutipan tunggal, tanda dolar diperlakukan sebagai karakter biasa dan tidak diperluas. Inilah contohnya:

echo 'gaji saya adalah $ 1000'
1echo 'gaji saya adalah $ 1000'

Dalam contoh ini, string 'Gaji saya adalah $ 1000' tertutup dalam kutipan tunggal. Saat kita menjalankan perintah, shell memperlakukan string sebagai string literal dan mencetaknya persis seperti itu, tanpa memperluas tanda dolar.

Kutipan Ganda (“”)

Kutipan ganda juga digunakan untuk melampirkan string dalam bash. Saat string tertutup dalam kutipan ganda, shell memperlakukan konten string secara berbeda dari dengan kutipan tunggal. Secara khusus, shell memperluas variabel dan karakter khusus tertentu di dalam kutipan ganda.

Misalnya, jika kita memiliki variabel $ name yang berisi nilai 'John', Dan kami melampirkannya dalam kutipan ganda, shell memperluas variabel dan menggantikan nilainya dalam string. Inilah contohnya:

name = "John" echo "halo, $ name!"
12name = 'John'echo "halo, $ name!"

Dalam contoh ini, nama $ variabel dilampirkan dalam kutipan ganda. Saat kami menjalankan perintah, shell memperluas variabel dan menggantikan nilainya dalam string, menghasilkan output 'Halo, John!'.

Kutipan ganda juga memungkinkan penggunaan karakter khusus tertentu seperti backslashes (\) dan tanda seru (!) di dalam string. Karakter -karakter ini dapat diloloskan menggunakan backslash (\) untuk menghindari makna khusus mereka.

Misalnya, jika kita ingin memasukkan tanda seru dalam string kita, yang memiliki makna khusus dalam bash, kita dapat menghindarinya dengan backslash untuk menghindari makna khususnya. Inilah contohnya:

echo "Ini adalah tanda seru: \!"
1echo "Ini adalah tanda seru: \!"

Dalam contoh ini, tanda seru melarikan diri dengan a Backslash (!) untuk menghindari maknanya yang istimewa. Saat kami menjalankan perintah, shell memperlakukan tanda seru sebagai karakter biasa dan mencetaknya di output.

Kesimpulan

Sebagai kesimpulan, perbedaan utama antara kutipan tunggal dan kutipan ganda dalam bash adalah cara shell memperlakukan isi string. Kutipan tunggal memperlakukan isi string sebagai string literal, tanpa interpretasi atau substitusi, sedangkan kutipan ganda memungkinkan untuk perluasan variabel dan karakter khusus tertentu. Saat menggunakan kutipan dalam bash, penting untuk memahami perbedaan antara kutipan tunggal dan ganda dan memilih yang sesuai berdasarkan perilaku yang dimaksudkan.