Mengapa bash merangkum kesalahan sintaksis baik dengan aksen kubur dan dengan tanda kutip?


14

Ketika bash melaporkan kesalahan sintaks, itu merangkum teks yang telah mengangkat kesalahan sintaks baik dengan aksen dan dengan apostrof, seperti ini: `...'. Ada yang tahu kenapa?

Ini sebuah contoh:

$ bash -c "echo error()"
bash: -c: line 0: syntax error near unexpected token `('
bash: -c: line 0: `echo error()'

Ini tidak terlalu umum; Namun, saya hanya ingin tahu, ini bukan masalah nyata.

Sunting: ini semakin aneh dengan pesan tidak jelas seperti ini:

-bash: unexpected EOF while looking for matching ``'


Jawaban:


8

Dalam font tertentu, tanda kutip tersebut akan muncul sebagai pasangan yang berlawanan dari tanda kutip tunggal yang melingkar. Ini ketinggalan jaman di dunia Unicode saat ini , tetapi kode dan praktik yang menghasilkan kutipan seperti itu berasal dari masa sebelum Unicode, atau sebelum ketersediaannya yang luas.


2
Lebih dari satu orang mungkin ingin tahu tentang topik ini: cl.cam.ac.uk/ ~ mgk25
ucs

1
+1 untuk menggunakan "passe '" dalam jawaban teknis. Bravo, tuan!
Bruce Ediger
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.