Должен ли я в алфавитном порядке упорядочить флаги в команде в качестве хорошей практики?

Я знаю, что эти две команды делают одно и то же:

ls -la
ls -al

, но мне интересно, есть ли между ними какие-либо предпочтения. Лучше ли заказывать их определенным образом?

14
задан 5 August 2015 в 19:44

5 ответов

Это действительно не имеет значения*, если команда явно не упоминает. Я имею, не столкнулся ни с какой ссылкой, которая дала что-либо как инструкция, как поместить опции один за другим. Таким образом, я думаю ради удобочитаемости, опции могут быть расположены в алфавитном порядке.

*There является очень очень важным протестом, который является, если для какой-либо опции нужны имя файла или какой-либо другой вход прямо после него, необходимо поместить его соответственно.

, Например, -f опция grep берет файл в качестве входа для взятия шаблона для поиска из входного файла. Необходимо дать команду как, например:

grep -cf input.txt file.txt 

, Если Вы используете его как:

grep -fc input.txt file.txt 

это перестанет работать, поскольку это будет использовать c в качестве имени файла.

0
ответ дан 5 August 2015 в 19:44

POSIX соглашения определяют в Инструкция 11 и 12 Служебных Инструкций по Синтаксису , что порядок" не должен иметь значения ", если это не документируется для самой утилиты.

GNU C Руководство Справочного руководства по библиотеке также соблюдает те соглашения POSIX в 25.1.1 Соглашения о синтаксисе .

Аргумента программы

, Но уведомление, существует несколько утилит, которые дают в некоторых ситуациях строгие распоряжения, как выполнить, параметры (например, находят). От эти находят страницу справочника :

Эти -name тест прибывает перед эти -type тест, чтобы избежать необходимости звонить stat(2) на каждом файле.

Иногда утилита жалуется на упорядочивание.

0
ответ дан 5 August 2015 в 19:44

С ls можно едва пойти не так, как надо с упорядочиванием опций.

, Но быть внимательным, хотя это другие команды может иметь различные ответы на опции в зависимости от порядка.

примером является команда находки. Вы получите различные результаты, например, между:

  find . -ls -mtime -1 

И

  find . -mtime -1 -ls
0
ответ дан 5 August 2015 в 19:44

Если то, что Вы хотите практиковать, располагает в алфавитном порядке короткие строки, возможно. Я нахожу две стратегии полезными: создание слов (уменьшает опечатки), и предложения создания (улучшает понимание).

Для ls, например, я обычно использую ls -halF, потому что, даже со странной капитализацией, я лучше во вводе половина , чем что-то как Falh, который не является словом.

Для tar, с другой стороны, я тип tar czvf filename и говорит (в моей голове) "tar, Создают и Zip, Verbosely Для имени файла", потому что это - то, как я изучил то, что означали различные буквы.

0
ответ дан 5 August 2015 в 19:44

Как другие ответили, это не имеет значения (если не зарегистрировано иначе, или аргументы опции берут дальнейшие аргументы).

, Но он предпочтительный, чтобы приказать, чтобы опции в алфавитном порядке были спорны.

Лично, я нахожу, что мнемоника обеспечивает больше значения, чем строгий алфавитный порядок. Легче помнить ряд опций, когда они формируют незабываемое слово, например, рассматривают:

netstat -tan
# alphabetic is good (by chance) in this case
netstat -ant

по сравнению с:

netstat -atn
netstat -nta

Поэтому при нахождении определенной комбинации опций для команды можно хотеть попытаться перестроить буквы к порядку, который является самым легким для Вас помнить.

0
ответ дан 5 August 2015 в 19:44

Другие вопросы по тегам:

Похожие вопросы: