Что эта строка Bash, как предполагается, означает?

Это, вероятно, не помогает Вам очень, но: Я нахожу это, когда я делаю это (атрибут поверхности набора 'ноль по умолчанию: высота 100), если мой кадр максимизируется, это остается максимизируемым. (Я использую Gnome с Метагородом на старом поле Debian 5).

1
06.01.2012, 01:43
4 ответа

Это не вопрос об ударе по сути - все в той команде - ряд аргументов Unix, находят (1) команда, которая вела бы себя то же независимо от того, от какой оболочки Вы вызываете его.

Учитывая это, то, что действительно необходимо сделать, посмотреть на документацию для находки (1) - и можно сделать это путем выполнения:

$ man find

или, если Ваша версия находки является Гну одна (как это будет при выполнении Linux)

$ info find

для более подобного книге документа.

Для Вашего второго вопроса: много команд (особенно те, которые являются частью проекта Гну) используют длинные флаги опции формы

$ command --long-argument --other-long-argument

как альтернатива коротким спорам формы

$ command -lo

или

$ command -l -o

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

4
27.01.2020, 23:11
  • 1
    И некоторые команды, включая find, используйте единственных тире с длинными именами опции (command -foo -bar). Такие команды обычно не разрешают связываться (создание -fb эквивалентный -f -b). Сценарии Perl с помощью GetOpt::Long модуль имеет тенденцию вести себя этот путь, например. –  Keith Thompson 05.01.2012, 22:27

В этом контексте, -name говорит find управляйте для фильтрации результатов тем, которые заканчиваются '.html' и -exec говорит find управляйте для выполнения grep с результатами.

-l относится grep управляйте и указывает что имя файла первого входного файла для соответствия шаблону (т.е. somethingtobefound) должен быть распечатан и остановленное сканирование. Согласно man страница, {} удостоверяется, что путь текущего файла передается в find и \; завершает команду.

В отношении двойных тире по сравнению с единственными тире это - что-то, что имеет тенденцию быть конкретной программой и не должно иметь никакого особого значения. Тем не менее обычно Вы склонны видеть двойных тире перед более длинными параметрами (т.е. --show-results) по сравнению с односимвольными параметрами (т.е. -s).

4
27.01.2020, 23:11
  • 1
    {} \; хвост синтаксиса для находки -exec опция... {} представляет одно из имен, найденных find, и \; представляет конец той опции (подобный ; как используется в окончании a bash команда)... find требует '\' выходить ; так, чтобы оболочка не рассматривала его как конец команды оболочки. -exec также допускает a \+ что означает многие имена, найденные find (но для grep \; соответствующие меры)... Это все объяснено в находке man страница (человек является сокращением руководства).. А-ч –  Peter.O 05.01.2012, 18:02
  • 2
    @perer, прохладный, я обновил свой ответ соответственно. Обычно я просто передаю материал по каналу вместе, таким образом, я не использую exec слишком часто. –  anonymous 05.01.2012, 18:04
  • 3
    Эй, так не был должен - имя и - должностное лицо на самом деле быть - имя и - должностное лицо вместо этого, так как они - долгие опции/аргументы вместо односимвольных опций/аргументов? +1 –  Dark Templar 06.01.2012, 02:28
  • 4
    @DarkTemplar - В теории да, но в зависимости от того, когда программа была записана, она может или не может следовать конвенции. –  anonymous 06.01.2012, 03:09
  • 5
    @DarkTemplar - Право, насколько я знаю, что это - ничего формального. –  anonymous 08.01.2012, 07:15

Ответы могут быть найдены с человеком, найдите:

`
-name pattern
          Base of  file  name  (the  path  with  the  leading  directories
          removed)  matches  shell  pattern  pattern.   The metacharacters
          ('*', '?', and '[]') match a '.' at the start of the  base  name
          (this is a change in findutils-4.2.2; see section STANDARDS CON‐
          FORMANCE below).  To ignore a directory and the files under  it,
          use  -prune; see an example in the description of -path.  Braces
          are not recognised as being special, despite the fact that  some
          shells  including  Bash  imbue  braces with a special meaning in
          shell patterns.  The filename matching is performed with the use
          of  the  fnmatch(3)  library function.   Don't forget to enclose
          the pattern in quotes in order to protect it from  expansion  by
          the shell.

-exec command ;
          Execute  command;  true  if 0 status is returned.  All following
          arguments to find are taken to be arguments to the command until
          an  argument  consisting of ';' is encountered.  The string '{}'
          is replaced by the current file name being processed  everywhere
          it occurs in the arguments to the command, not just in arguments
          where it is alone, as in some versions of find.  Both  of  these
          constructions might need to be escaped (with a '\') or quoted to
          protect them from expansion by the shell.  See the EXAMPLES sec‐
          tion for examples of the use of the -exec option.  The specified
          command is run once for each matched file.  The command is  exe‐
          cuted  in  the starting directory.   There are unavoidable secu‐
          rity problems surrounding use of the -exec  action;  you  should
          use the -execdir option instead.

И так далее

3
27.01.2020, 23:11
  • 1
    Не Видьте основания для вставки плоских страниц руководства. Было уже упомянуто здесь, что руководства имеют ответы для вопроса. –  Eugene S 01.05.2012, 16:09

Параметры -name и -exec показывает, что "шаблон имени файла или каталога для поиска" и "выполняет что-то на каждом из подобранных получающихся файлов или каталогов". {} заменен результаты, соответствующие -name шаблон, так, чтобы -exec оператор может использовать их в качестве аргументов выполняемым командам. Наклонная черта влево \; показывает конец команды находки. Двойные тире -- обычно средства долгие опции, например. ls --all и единственный тире - средства короткая опция, например. ls -a. Они оба имеют в виду точно то же.

1
27.01.2020, 23:11

Теги

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