Які відмінності між командами "-" та "-"?


13

Я часто бачу один тире -або подвійний тире з --подальшими командами Linux або іншими встановленими програмами Linux.

Які відмінності між тире та подвійним тире?

Це лише про абревіатуру? Наприклад, -vозначає --verboseбільшу частину часу.


Відповіді:


15

Це питання конвенції. Стандартні програми POSIX мають лише параметри одного символу, і всі вони мають префікс із одним дефісом. Наскільки я можу сказати, довші версії - це поліпшення GNU для ясності, і зазвичай вони мають префікс з подвійними дефісами. Це можна побачити в бібліотеках і програмах, які використовуються для розбору варіантів - getoptі gnu-getoptвідповідно. Програми, що не відповідають GNU та сумісні з POSIX, можуть взагалі щось інше. Зауважте, що ви дійсно не можете бути впевнені, що довга форма аргументу може бути однаковою від програми до програми. -fзазвичай означає --force, але не з apt-get install(поширене оману). -vможе означати версію - як правило, або --verboseтощо. Переконайтеся, що довідкові сторінки чи інша документація впевнені. Також подивіться наСтаття у Вікіпедії про getopt . Все це передувало Linux протягом десяти років і більше.

ddє прикладом стандартної утиліти POSIX , яка не має жодних - або дефіс опції на всіх . find- класичний приклад стандартної утиліти POSIX, яка має варіанти слова з одинарними дефісами - майже всі findпараметри російської мови мають кілька символів. psпідтримує кілька стилів опцій:

This version of ps accepts several kinds of options:

1   UNIX options, which may be grouped and must be preceded by a dash.
2   BSD options, which may be grouped and must not be used with a dash.
3   GNU long options, which are preceded by two dashes.

GNUtar також підтримує кілька стилів опцій.

Що стосується використання, віддайте перевагу довгим параметрам у сценаріях, якщо ви можете бути впевнені, що сценарії будуть працювати у сумісних середовищах - поліпшення чіткості є благом при налагодженні. Для мобільності переважні короткі варіанти.


Дійсно приємна відповідь. Дякую.
Пен Чжан

4

Зазвичай - параметри можуть бути пов'язані між собою, як pacman -Syuеквівалент pacman -S -y -u, і - параметри, як правило, приймають параметр як у./configure --prefix=/usr

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.