Często widzę pojedynczy myślnik -
lub podwójny myślnik, --
po którym następują polecenia systemu Linux lub inne zainstalowane programy systemu Linux.
Jakie są różnice między kreskami pojedynczymi i podwójnymi?
Czy chodzi tylko o skrót? Na przykład -v
oznacza --verbose
większość czasu.
command-line
Peng Zhang
źródło
źródło
Odpowiedzi:
To kwestia konwencji. Standardowe programy POSIX zwykle mają tylko opcje jednego znaku i wszystkie są poprzedzone jednym łącznikiem. Dłuższe wersje są ulepszeniem GNU dla przejrzystości, o ile wiem, i zwykle są poprzedzone podwójnymi myślnikami. Możesz to zobaczyć w bibliotekach i programach używanych do parsowania opcji -
getopt
ignu-getopt
odpowiednio. Programy niezgodne z GNU i niezgodne z POSIX mogą robić coś innego. Zauważ, że tak naprawdę nie możesz być pewien, że długa forma argumentu może być taka sama w zależności od programu.-f
zwykle oznacza--force
, ale nie zapt-get install
(powszechne nieporozumienie).-v
może oznaczać wersję - zwykle lub--verbose
itd. Sprawdź strony podręcznika lub inną dokumentację, aby się upewnić. Zobacz takżeArtykuł w Wikipedii na temat getopt . Wszystko to wyprzedza Linuksa o dekadę lub dłużej.dd
jest przykładem na POSIX standardowego narzędzia , które nie ma żadnych opcji łącznikiem w ogóle .find
to klasyczny przykład standardowego narzędzia POSIX, które ma opcje słów z pojedynczymi myślnikami - prawie wszystkiefind
opcje mają wiele znaków.ps
obsługuje wiele stylów opcji:GNU
tar
obsługuje również wiele stylów opcji.Jeśli chcesz mieć pewność, że skrypty będą uruchamiane w kompatybilnych środowiskach, wybierz długie opcje skryptów - poprawa przejrzystości jest błogosławieństwem podczas debugowania. Ze względu na przenośność preferowane są krótkie opcje.
źródło
Zwykle - opcje można łączyć ze sobą, na przykład
pacman -Syu
równoważnepacman -S -y -u
, i - opcje zwykle przyjmują parametr jak w./configure --prefix=/usr
źródło