Apakah karakter "centang" atau "aksen akut" ´ (tidak `) digunakan untuk apa pun di Linux shell?


11

Kita tahu bahwa karakter backtick digunakan untuk substitusi perintah :

chown `id -u` /mydir

Yang membuat saya bertanya-tanya: apakah karakter tick ´digunakan untuk apa pun di shell Linux?


Catatan: secara kebetulan, substitusi perintah juga dapat ditulis sebagai lebih mudah dibaca
chown $(id -u) /mydir


3
Saya tidak yakin dengan nama itu, tetapi saya pikir ´itu disebut aksen akut hanya ketika digunakan sebagai diakritik (dan, sebaliknya, `disebut aksen kubur ). Ketika digunakan sendiri, karena yang terakhir adalah backtick , tampaknya wajar untuk yang pertama disebut tick atau forward tick (tolong jangan menyebutnya reverse backtick ). Saya telah memodifikasi pertanyaan judul untuk memasukkan catatan Anda.
dr_

1
cukup adil. Saya sudah menghapus komentar.
Stéphane Chazelas

1
@ dr01 Mungkin ada baiknya menuliskan judul seperti "(bukan`) "untuk membantu dalam kebingungan.
Kapten Man

Karakter yang mirip, apostrof (( 'ASCII 39, U + 0027) memiliki makna di banyak shell Unix (mis. Shell Bourne /bin/sh) dan shell Linux (mis /bin/bash.). Ini mencegah pemisahan kata dan semua ekspansi. Jadi ls '$foo [bar]'mengembalikan kesalahan kecuali ada file bernama $foo [bar]di direktori saat ini. Ini sama dengan ls "\$foo [bar]"dan ls \$foo\ \[bar\].
Poin

1
Ada banyak karakter yang mirip di Unicode, lihat cl.cam.ac.uk/~mgk25/ucs/quotes.html untuk daftar yang tidak lengkap, dan lihat en.wikipedia.org/wiki/Prime_(symbol) untuk beberapa simbol lainnya . Keluar dari semua ini, hanya karakter ASCII ( ', ", `) memiliki arti khusus dalam kerang Unix.
Poin

Jawaban:


28

Set karakter yang digunakan secara historis dengan Unix, termasuk ASCII , tidak memiliki karakter centang, jadi itu tidak digunakan. Sejauh yang saya ketahui tidak ada penggunaan umum untuk karakter yang telah diperkenalkan karena sudah tersedia; juga tidak, karena itu tidak termasuk dalam set karakter portabel POSIX .

`Awalnya tampaknya termasuk dalam ASCII (bersama dengan ^ dan ~) untuk berfungsi sebagai diakritik. Ketika ASCII didefinisikan, apostrof biasanya diwakili oleh gly-gaya mesin terbang ("prima", seperti yang digunakan untuk menit atau kaki) daripada tanda kutip lurus ', dan digunakan sebagai aksen akut diakritik juga.

Secara historis, dalam dokumentasi shell Unix, `disebut sebagai aksen kubur , bukan backtick. Tidak adanya tanda centang maju tidak akan menaikkan alis, terutama karena 'digunakan sebagai karakter pelengkap (lihat roffsintaks).


5
"Agaknya ´ tidak dianggap cukup umum untuk membuat pemotongan (meskipun digunakan secara luas dalam bahasa non-Amerika)." Sentuh.
dr_

6
Karakter di luar set karakter portabel POSIX (subset ASCII) tidak akan digunakan dalam sintaksis kerang, karena penyandiannya biasanya bervariasi di antara lokal (dan mungkin tidak ditemukan di beberapa termasuk lokal C). Misalnya, pada sistem GNU, ´adalah 0xB4 di lokal fr_FR.iso88591, 0xC2 0xB4 di fr_FR.UTF-8 dan tidak ada di lokal C.
Stéphane Chazelas

@ StéphaneChazelas Apa yang Anda katakan tetap benar meskipun fr_FRdiganti dengan bahasa lain. Pengkodean karakter adalah properti pengkodean (ISO-8859-1 atau UTF-8).
kasperd

2
@kasperd, ya, saya tidak bermaksud mengatakan bahwa bahasa itu membuat perbedaan. Pilihannya fr_FRsewenang-wenang, kebetulan saja saya memiliki lokal di sistem saya. Tentu saja akan sama dengan en_GB.UTF-8...
Stéphane Chazelas

12

Meskipun komite ASCII menganggap `sebagai diakritik dan 'sebagai tanda kutip, tradisi Unix memperlakukan mereka sebagai tanda kutip tunggal kiri dan kanan (karakter yang sekarang dalam Unicode sebagai U + 2018 dan U + 2019). Ini paling jelas dari konvensi TeX bahwa Anda menulis `` teks kutipan '' di sumber markup dan Anda mendapatkan 'teks kutipan' dalam dokumen yang diformat. Ini juga dapat dilihat dalam font monospace yang lebih lama, seperti font bitmap yang dikirimkan dengan X11R5 dan X11R6, di mana kedua karakter tersebut diberi glyph gambar cermin.

Karena itu, `dan 'dianggap kebalikan satu sama lain, dan ´ tidak terasa hilang.


3
Ah ya, saya ingat sintaksis LaTeX!
dr_

1
@ dr01: Yang tiba-tiba masuk akal ketika Anda menemukan beberapa font lama memilikinya sebagai cermin satu sama lain.
Joshua

2
'secara eksplisit didefinisikan dalam ASCII sebagai APOSTROPHE, MARK QUOTATION TUNGGAL TEPAT, ACUTE_ACCENT oleh ANSI, itu bukan hanya hal Unix. Tidak ada tanda kutip tunggal kanan lainnya di ASCII.
Stéphane Chazelas

2
@ Yosua: Perubahan font tersebut adalah masalah kontroversi / reaksi besar ketika itu terjadi (mungkin akhir 90-an atau tak lama setelah 2000). Bukan hanya font xterm, tetapi semua font bitmap X11 standar, termasuk bitmap Times / Helvetica / etc. digunakan di browser dan aplikasi lain dengan font spasi proporsional.
R .. GitHub BERHENTI MEMBANTU ICE

1
Sayangnya tidak cukup reaksi untuk menghentikannya! Pendukung Unicode berkeliling memberitahu semua orang bahwa tanda kutip ASCII adalah garis vertikal, bertentangan langsung dengan contoh mesin terbang dalam standar ASCII yang sebenarnya ... dan sekarang hampir setiap font memiliki benda bodoh itu di posisi 0x27 alih-alih tanda kutip yang tampak bagus
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.