Изначально были только односимвольные варианты. Некоторые программы выбирали несколько символов, но все еще с одной чертой. AFAIK много-символьные опции двойной черты происходят из GNU ; они были введены, потому что они более читабельны и часто более запоминаемы (и их может быть более 52). Многие программы теперь имеют и то и другое: короткие опции для ввода текста в командной строке и запоминания символа, длинные опции для сценариев или в командной строке, если вы помните только более длинное имя опции.
Почему существуют короткие и длинные альтернативы для параметров командной строки?
Большинство команд unixoid имеют короткие и длинные альтернативы для параметров командной строки, такие как ls -a
и ls --all
, или ls -A
и ls --almost-all
. Почему существуют эти два пути? Один из них короче, другой легче читать и понимать. Но каждый раз, когда я пишу сценарий оболочки, мне нужно решить, какой из них я хочу использовать. Известно ли, почему существуют две альтернативы? Кто был первым, почему был представлен другой? Например, в DOS / Windows практически не учитывается регистр букв из одной буквы.
3 ответа на вопрос
Вы можете догадаться, что это дело вкуса. При наборе текста в командной строке может быть предпочтительнее использовать короткий параметр, особенно в случае параметров запуска (например ls -AL
). Длинные опции лучше передают намерения, поэтому вам не нужно обращаться к справочной странице, когда вы читаете ls --almost-all --dereference
.
Естественно, когда вы набираетесь опыта, вы можете узнать, что оба варианта -A
и -L
короткий достаточно хорошо известны и не требуют дополнительной документации. Особенно в сложной команде, которая может комбинировать несколько команд интересными способами с оценкой, перенаправлением и т. Д. В таком случае вы можете предпочесть краткость, а не документацию.
Еще одна цель, которую я вижу в различных способах задания параметров (коротких и длинных), заключается в том, что при наборе тексты люди из командной строки Unix / Linux предпочитают иметь как можно более короткие команды. Тем не менее, они могут стать загадочными, и если сценарий написан с использованием этих коротких версий, их может стать трудно понять в будущем. Использование длинной версии может сделать команду SAME более читаемой и понятной для кого-то, кто не является гуру этой команды, особенно если эта команда на самом деле является локально написанным сценарием, а не известной командой.
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4