Di bagian 3.1.2.3 berjudul Kutipan Ganda, manual Bash mengatakan:
Menutup karakter dalam tanda kutip ganda ('"') mempertahankan nilai literal semua karakter dalam tanda kutip, dengan pengecualian '$', '`', '\', dan, ketika ekspansi sejarah diaktifkan, '!'.
Saat ini saya prihatin dengan kutipan tunggal ( ').
Ini makna khusus, yang dijelaskan dalam bagian sebelumnya, bagian 3.1.2.2 adalah:
Menutup karakter dalam tanda kutip tunggal (
') mempertahankan nilai literal setiap karakter dalam tanda kutip. Kutipan tunggal mungkin tidak terjadi di antara tanda kutip tunggal, bahkan ketika didahului oleh garis miring terbalik.
Menggabungkan dua eksposisi,
echo "'$a'"
di mana variabel atidak didefinisikan (karenanya $a= string nol), harus mencetak $apada layar, karena '', memiliki makna khusus di dalamnya, akan melindungi $dari interpretasi khusus. Sebaliknya, ia mencetak ''. Kenapa begitu?
’, ‘\’, and, when history expansion is enabled, ‘!’." in the manual. But now reading it again I realized the second character is not single quote, ("'") but tilde (""). Saya' Saya berterima kasih atas tanggapan cepat Anda. Terima kasih!