“Kene” veya “akut aksan” karakteri ´ (`değil) Linux kabuğundaki herhangi bir şey için kullanılıyor mu?


11

Backtick karakterinin komut ikamesi için kullanıldığını biliyoruz :

chown `id -u` /mydir

Bu beni meraklandırdı: Kene karakteri ´Linux kabuğundaki herhangi bir şey için mi kullanılıyor?


Not: bu arada, komut değiştirme de daha okunaklı olarak yazılabilir
chown $(id -u) /mydir


3
Adından emin değildim, ancak sadece aksan olarak kullanıldığında akut aksan´ olarak adlandırıldığını düşündüm (ve tersine, mezar aksanı denir ). Tek başına kullanıldığında, ikincisi bir backtick olduğundan , eskisinin kene veya ileri kene olarak adlandırılması doğal görünüyordu (lütfen ters backtick olarak adlandırmayalım ). Başlık sorusunu notunuzu içerecek şekilde değiştirdim. `
dr_

1
yeterince adil. Yorumu kaldırdım.
Stéphane Chazelas

1
@ dr01 Kafa karışıklığına yardımcı olmak için "(`) değil "gibi bir başlık koymak yararlı olabilir.
Kaptan Adam

Benzer görünümlü bir karakter olan kesme işareti ( 'ASCII 39, U + 0027), Unix kabuklarının çoğunda (örn. Bourne kabuğu /bin/sh) ve Linux kabuklarında (ör. /bin/bash) Bir anlam ifade eder . Kelimelerin bölünmesini ve tüm açılımları önler. Yani ls '$foo [bar]'adında bir dosya olmadığı sürece hata verir $foo [bar]geçerli dizinde. Bu fosfata eşdeğer oluyor ls "\$foo [bar]"ve ls \$foo\ \[bar\].
Puan

1
Unicode'da benzer birçok karakter var, eksik bir liste için cl.cam.ac.uk/~mgk25/ucs/quotes.html adresine bakın ve daha fazla sembol için en.wikipedia.org/wiki/Prime_(symbol) sayfasına bakın. . Bütün bunların dışında, yalnızca ASCII karakterleri ( ', ", `) Unix kabuklarda özel bir anlamı vardır.
pts

Yanıtlar:


28

ASCII dahil Unix ile tarihsel olarak kullanılan karakter kümelerinin bir kene karakteri yoktur, bu yüzden kullanılmamıştır. Bildiğim kadarıyla, bu karakter için kullanılabilir hale geldiğinden beri ortak bir kullanım getirilmedi; POSIX'in taşınabilir karakter setine dahil edilmediğinden bu da olmaz .

`` Görünüşe göre orijinal olarak ASCII'ye (^ ve ~ ile birlikte) bir aksan olarak hizmet etmek için dahil edildi. ASCII tanımlandığında, kesme işareti tipik olarak düz kesme işaretinden ziyade bir style tarzı glif (dakikalar veya ayaklar için kullanıldığı gibi "prime") ile temsil edildi ve aynı zamanda aksanik bir akut aksan olarak kullanıldı.

Tarihsel olarak, Unix kabuk belgelerinde `` backtick değil, ciddi bir aksan olarak adlandırıldı . İleri bir kene eksikliği, özellikle 'tamamlayıcı karakter olarak kullanıldığından kaşları kaldırmazdı ( roffsözdizimine bakın ).


5
"Muhtemelen ´, kesimi yapacak kadar yaygın kabul edilmedi (Amerikan dillerinde yaygın olarak kullanılmasına rağmen)." Touché.
dr_

6
POSIX taşınabilir karakter kümesi (ASCII'nin bir alt kümesi) dışındaki karakterler, kodlamaları genellikle yerel ayarlar arasında farklılık göstereceğinden (ve C yerel ayarı dahil bazılarında bulunmayabilir) kabukların sözdiziminde kullanılmaz. Örneğin, bir GNU sisteminde ´fr_FR.iso88591 yerel ayarında 0xB4, fr_FR.UTF-8 içindeki 0xC2 0xB4'tür ve C yerel ayarında mevcut değildir.
Stéphane Chazelas

@ StéphaneChazelas fr_FRBaşka bir dille değiştirilse bile söyledikleriniz doğru kalır . Karakterin kodlaması kodlamanın bir özelliğidir (ISO-8859-1 veya UTF-8).
kasperd

2
@kasperd, evet, dilin bir fark yarattığını ima etmek istememiştim. Seçim fr_FRkeyfi oldu, sadece benim sistemimde böyle yerel ayarları var. Tabii ki en_GB.UTF-8... ile aynı olurdu
Stéphane Chazelas

12

ASCII komitesi `` aksan ve '' kesme işareti olarak düşünmesine rağmen, Unix geleneği onlara sol ve sağ tek tırnak olarak muamele etmekti (şu anda Unicode'da olan karakterler U + 2018 ve U + 2019). Bu, işaretleme kaynağında `` alıntılanan metin '' yazdığınız ve biçimlendirilmiş belgede "alıntılanan metin" aldığınız TeX kuralında en belirgindir. Bu, X11R5 ve X11R6 ile gönderilen ve iki karaktere ayna görüntüsü glifleri verilen bitmap yazı tipleri gibi daha eski tek aralıklı yazı tiplerinde de görülebilir.

Bu nedenle, `ve 'birbirlerinin tersi kabul edildi ve ´'nin eksik olduğu hissedilmedi.


3
Ah evet, LaTeX sözdizimini hatırlıyorum!
dr_

1
@ dr01: Bazı eski yazı tiplerinin birbirinin aynası olduğunu fark ettiğinizde aniden mantıklı geliyor.
Joshua

2
'ASCII'de açıkça APOSTROPHE, SAĞ TEK TEKLİFİ MARKA , ANSI tarafından ACUTE_ACCENT olarak tanımlandı, sadece bir Unix işi değil. ASCII'de başka bir doğru tek tırnak işareti yoktur .
Stéphane Chazelas

2
@Joshua: Bahsedilen yazı tiplerinin değiştirilmesi, meydana geldiğinde (muhtemelen 90'ların sonunda veya 2000'den kısa bir süre sonra) büyük bir tartışma / geri tepme meselesiydi. Sadece xterm fontları değil, bitmap Times / Helvetica / vb. Dahil olmak üzere tüm standart X11 bitmap fontlarıydı. orantılı aralıklı yazı tiplerine sahip tarayıcılarda ve diğer uygulamalarda kullanılır.
R .. GitHub BUZA YARDIMCI DURDUR

1
Ne yazık ki durdurmak için yeterli boşluk yok! Unicode savunucuları, ASCII kesme işaretinin herkese, gerçek ASCII standardındaki örnek glifle doğrudan çelişkili olarak dikey bir çizgi olduğunu söyleyerek koşuyorlar ... ve şimdi hemen hemen her yazı tipinin, 0x27 konumunda iyi görünümlü bir kesme işareti yerine o aptalca şeyi var
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.