Czy znak „tik” lub „ostry akcent” ´ (nie „) jest używany do czegokolwiek w powłoce Linux?


11

Wiemy, że znak zamiany służy do zastępowania poleceń :

chown `id -u` /mydir

Co mnie zastanowiło: czy znak tyka jest ´używany do czegokolwiek w powłoce Linux?


Uwaga: nawiasem mówiąc, podstawienie polecenia można również zapisać bardziej czytelnie jako
chown $(id -u) /mydir


3
Nie byłem pewien nazwy, ale myślałem, że ´nazywany jest ostrym akcentem tylko wtedy, gdy jest używany jako diakrytyczny (i odwrotnie, `nazywa się go poważnym akcentem ). Gdy jest stosowany sam, ponieważ ten drugi jest tyknięciem wstecznym , wydawało się naturalne, że ten pierwszy nazywa się tyknięciem lub tyknięciem do przodu (nie nazywajmy go tyłem wstecznym ). Zmodyfikowałem pytanie tytułowe, aby uwzględnić notatkę.
dr_

1
Słusznie. Usunąłem komentarz.
Stéphane Chazelas

1
@ dr01 Może być warto wstawić w tytule coś w rodzaju „(nie„) ”, aby pomóc w zamieszaniu.
Captain Man,

Podobnie wyglądająca postać, apostrof ( ', ASCII 39, U + 0027) ma znaczenie w wielu powłokach uniksowych (np. Powłoka Bourne'a /bin/sh) i powłokach Linux (np /bin/bash.). Zapobiega dzieleniu słów i wszystkich rozszerzeń. ls '$foo [bar]'Zwraca więc błąd, chyba że $foo [bar]w bieżącym katalogu znajduje się plik o nazwie . Jest to równoważne z ls "\$foo [bar]"i ls \$foo\ \[bar\].
pts

1
Istnieje wiele podobnie wyglądających znaków w Unicode, patrz cl.cam.ac.uk/~mgk25/ucs/quotes.html, aby uzyskać niekompletną listę i patrz en.wikipedia.org/wiki/Prime_(symbol), aby uzyskać więcej symboli . Spośród tych wszystkich, tylko znaki ASCII ( ', ", `) mają szczególne znaczenie w powłokach Unix.
pts

Odpowiedzi:


28

Zestawy znaków używane historycznie w Uniksie, w tym ASCII , nie mają znaku tyknięcia, więc nie został użyty. O ile mi wiadomo, nie wprowadzono powszechnego użycia tej postaci, odkąd stała się dostępna; nie zrobiłby tego, ponieważ nie jest zawarty w przenośnym zestawie znaków POSIX .

`najwidoczniej został pierwotnie włączony do ASCII (wraz z ^ i ~), aby służyć jako diakrytyczny. Kiedy zdefiniowano ASCII, apostrof był zazwyczaj reprezentowany przez glif typu „prima” (używany w minutach lub stopach), a nie prosty apostrof ”, i był również używany jako ostry akcent diakrytyczny.

Historycznie, w dokumentacji powłoki Unixa, „był określany jako poważny akcent , a nie backstick. Brak kleszcza do przodu nie podniósłby brwi, zwłaszcza, że ​​jako znak uzupełniający użyto „” roff.


5
„Prawdopodobnie” nie zostało uznane za wystarczająco powszechne, aby zrobić cięcie (pomimo jego powszechnego użycia w językach innych niż amerykańskie). ” Touché.
dr_

6
Znaki spoza przenośnego zestawu znaków POSIX (podzbiór ASCII) nie byłyby używane w składni powłok, ponieważ ich kodowanie zwykle różni się w zależności od ustawień regionalnych (i może nie być znalezione w niektórych, w tym w ustawieniach regionalnych C). Na przykład w systemie GNU ´jest 0xB4 w locale fr_FR.iso88591, 0xC2 0xB4 w locale fr_FR.UTF-8 i nie istnieje w locale C.
Stéphane Chazelas

@ StéphaneChazelas To, co mówisz, pozostaje prawdą, nawet jeśli fr_FRzostanie zastąpione innym językiem. Kodowanie znaku jest właściwością kodowania (ISO-8859-1 lub UTF-8).
kasperd

2
@kasperd, tak, nie chciałem sugerować, że język ma znaczenie. Wybór fr_FRbył arbitralny, zdarza się, że mam takie lokalizacje w moim systemie. Oczywiście byłoby tak samo z en_GB.UTF-8...
Stéphane Chazelas,

12

Chociaż komitet ASCII uważał „za diakrytyczny, a” za apostrof, tradycja uniksowa traktowała je jako lewy i prawy pojedynczy cytat (znaki, które są teraz w Unicode jako U + 2018 i U + 2019). Jest to najbardziej oczywiste z konwencji TeXa, że ​​piszesz `` cytowany tekst '' w źródle znaczników i dostajesz „cytowany tekst” w sformatowanym dokumencie. Można to również zaobserwować w starszych czcionkach monospace, takich jak czcionki bitmapowe dostarczane z X11R5 i X11R6, gdzie te dwa znaki otrzymały glify lustrzane.

Jako takie, „i” uważano się nawzajem za odwrotne, i „nie było odczuwalne zaginięcie.


3
Ach tak, pamiętam tę składnię LaTeX!
dr_

1
@ dr01: Co nagle ma sens, gdy odkryjesz, że niektóre stare czcionki mają je jako zwierciadła.
Joshua

2
'został wyraźnie zdefiniowany w ASCII jako APOSTROF, ODPOWIEDNI JEDEN ZNAK CYTACJI, ACUTE_ACCENT przez ANSI, to nie tylko kwestia uniksowa. W ASCII nie ma innego właściwego pojedynczego cudzysłowu.
Stéphane Chazelas

2
@Joshua: Zmiana wspomnianych czcionek była przedmiotem poważnych kontrowersji / luzu, kiedy to się stało (prawdopodobnie pod koniec lat 90. lub krótko po 2000 r.). To nie były tylko czcionki xterm, ale wszystkie standardowe czcionki bitmapowe X11, w tym bitmapa Times / Helvetica / itp. używany w przeglądarkach i innych aplikacjach z czcionkami o proporcjonalnych odstępach.
R .. GitHub ZATRZYMAJ POMOC W LODZIE

1
Niestety, zbyt mało luzu, aby go zatrzymać! Zwolennicy Unicode biegają wokół i mówią wszystkim, że apostrof ASCII jest linią pionową, co jest sprzeczne z przykładowym glifem w aktualnym standardzie ASCII ... a teraz prawie każda czcionka ma tę głupią rzecz na pozycji 0x27 zamiast przyzwoicie wyglądającego apostrofu
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.