Синтаксис команды Unix/Linux

Просто обратитесь к Perl:

abspath=$(perl -MCwd -MFile::Basename -e 'print abs_path(dirname($ARGV[0]))' $0)

Отметьте это abs_path(dirname(...)) может не совпасть с dirname(abs_path(...)).


(Редактирование: Добавленный -MFile::Basename)

3
08.12.2018, 01:40
6 ответов

Обычно синтаксис, где [...] используется для указания на дополнительный args и '|', используется для указания на логическое ИЛИ используется в большинстве страниц справочника. Это зависит, кто пишет страницу справочника, поскольку нет никаких полномочий, которые диктуют то, как что должна читать страница справочника. Более характерный для Вашего вопроса однако, чтения страницы справочника, верные в этом случае. Или можно указать URL через переключатель-i, или можно предоставить сам URL. Таким образом, можно думать об опциях как "условно дополнительных". Действительно это должно, вероятно, считать что-то как

      ([option (excluding -i)] (-i file | URL)) 

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

Кроме того, я - гнида, выбирающая здесь, но что Вы видите, не regex ;)

4
27.01.2020, 21:20
  • 1
    @fthinker-Спасибо! Это разрешило много вещей в моей голове и должно сделать мою команду, исследующую намного менее сбивающий с толку. Мое плохое для использования regex. Когда я сказал, что regex, имел в виду что-то как шаблон "команда" или что-то. Я использовал regex скорее свободно для значения чего-то как этот. –  sandman 16.03.2012, 16:19
  • 2
    Да, я знаю. :) –  fthinker 16.03.2012, 17:01

Я не думаю, что существует формальное определение для того (я мог бы быть неправым), но кажется, что нет большой части стандарта для этой логики, судящей по случайной выборке некоторых страниц справочника.

0
27.01.2020, 21:20
  • 1
    Если нет, я думаю пора, что они стандартизировали его. При оценке по моему собственному опыту это поможет навигации по изобилию команд и их определенных особенностей, намного более легче. –  sandman 16.03.2012, 04:11
  • 2
    @sandman. После того как Вы заканчиваете начальный натиск всех этих новых неизвестных опций к незнакомым программам, он успокаивается к тому, чтобы быть не настолько поразительный кроме необходимости иметь дело с аспектом изобилия..., но это было бы так в любом случае. BTW, "они", к которым Вы обращаетесь, является умозрительно Вами и мной..., и примите во внимание, что история многих основных программ возвращается много лет, когда вещи выросли несколько более органически, чем можно было бы предпочесть сегодня. Значительно, то наследие должно быть backwardly совместимый... Существуют перемещения в движении для улучшения его, но не легкого содержать проточную воду. –  Peter.O 16.03.2012, 10:23
  • 3
    @Peter. У O-You действительно есть точка. Назад уверенная совместимость является обоюдоострым мечом. Однако, как правило, я спотыкаюсь он. Это, вероятно, почему у меня есть такой отдельный тон в моем более раннем комментарии, когда я использовал "их", но кому нравитесь Вы указанный, люди как Вы и я. Спасибо за Вас комментарий! :) –  sandman 16.03.2012, 16:24

Я ожидал бы, что это скажет

wget [options] URL...
wget [-i|--input-file] file [options] [URL...]

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

Сравните это с инструментами BSD, такими как tar и независимый инструмент rsync.

С другой стороны, в Конвенциях Утилиты POSIX говорится, что несколько строк резюме должны использоваться для взаимоисключающих опций, и -i опция является на самом деле не взаимоисключающей.

0
27.01.2020, 21:20

man 7 man-pages (от пакета страниц справочника Linux), объясняют некоторые конвенции, о которых необходимо знать, даже если существуют некоторые страницы справочника, которым не удается следовать конвенциям.

0
27.01.2020, 21:20

Это не весь определенная реализация http://en.wikipedia.org/wiki/Backus-Naur_form?

0
27.01.2020, 21:20

В спецификациях POSIX , если вы щелкните «Базовые определения» в верхней левой панели, а затем «Соглашения об утилитах» в нижней левой панели , вы найдете то, что Вы ищете.

Я оказался на этой странице в поисках спецификаций POSIX для синтаксиса справки по командам, поэтому решил помочь следующему человеку.

0
27.01.2020, 21:20

Теги

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