Strona podręcznika dla tar w sekcji Arch Linux SYNOPSIS zaczyna się od:
tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]
Doskonale rozumiem, że w tej sytuacji oznacza to, że należy podać dokładnie jedną z opcji w nawiasach klamrowych, ponieważ jest tak napisane w dalszej części strony podręcznika. Czy istnieje jakiś standard lub konwencja dotycząca używania {} wokół listy wzajemnie wykluczających się opcji?
Wszystko, co mogę znaleźć, to samouczek grupowy użytkownikaman
z 1998 roku, w którym napisano:
Niektóre opcje będą miały ograniczoną listę opcji. Lista opcji zostanie oddzielona przecinkami i umieszczona między nawiasami klamrowymi.
{choice1, choice2} {tak, nie}
Wygląda na to, że każda konwencja (jak ta z Open Group ) lub strona podręcznika opisuje tylko nawiasy kwadratowe ([) lub pionowe linie (|).
źródło
<>
za obowiązkowe, ale przypuszczam, że jest to zarezerwowane dla argumentów, a nie opcji. Licznik: Wersja strony GNU tar dla Ubuntu ( manpages.ubuntu.com/manpages/trusty/en/man1/tar.1.html ) nie używa tego formularza, podobnie jak linux.die.net/man/ 1 / tar lub Debian . Myślę, że patrzysz na stronę podręczną tar BSD, więc jeśli istnieje konwencja, może to być BSD.Odpowiedzi:
To świetne pytanie (i wciąż otwarte lata później). Myślę, że oficjalna odpowiedź jest teraz dostępna w tym dokumencie Google :
źródło
Badałem znaczenie znaczenia opcji określonych w nawiasach klamrowych ({}) w porównaniu z opcjami określonymi w nawiasach kwadratowych ([]), kiedy natknąłem się na twoje pytanie. Było to jedyne źródło informacji, które uznałem za przydatne w odniesieniu do tego, co chciałem zrozumieć, a mianowicie dlaczego opcje są podane w nawiasach klamrowych.
Jak pisałeś:
Czytając stronę podręcznika dla netstat doszedłem do wniosku, że były to opcje dostępne do użycia z poleceniem, które należy użyć / podać przed użyciem innych opcji, które mogą być wymienione z poleceniem ORAZ tylko jedną z wymienionych opcji można oddzielić pionowym paskiem.
Przykład powyższego można znaleźć na stronie man komendy netstat:
Źródło: netstat (8) | Strona podręcznika użytkownika systemu Linux
Zasadniczo można użyć dokładnie jednego z --route lub -r (oznaczają to samo), ale opcja musi poprzedzać inne wymienione opcje.
Odpowiedziałem tylko na twoje pytanie, ponieważ wydaje się, że pytanie pozostaje otwarte, ale wydaje mi się, że odpowiedziałeś na własne pytanie :)
Konwencja jest jedynie szeroko rozpowszechnioną praktyką. Bez względu na to, czy zostało to wyraźnie stwierdzone, czy nie, fakt, że regularnie odnajdujesz dokumenty man w tym formacie, wskazuje, że konwencja (zakładając, że poprawnie to napisałem powyżej) jest mocno ustalona.
Czy istnieje „standard”? Dla mnie to zależy od tego, jaką definicję chcesz zastosować dla „standardu”. Dla mnie niewiele jest rozróżnienia między znaczeniem słów konwencja i standard, w tym sensie, że używamy tutaj tego terminu. W tym sensie uważam, że te dwa słowa oznaczają coś w stylu „czegoś, co jest wspólnie uzgodnione, użyte i zaakceptowane jako norma”.
Dziękujemy za poświęcony czas, który pomógł mi zrozumieć tę konwencję / standard.
źródło