O que são comandos primários?

O que são comandos primários?

Me deparei com a noção de primárias em execução man find:

.
.
.
PRIMARIES
     All primaries which take a numeric argument allow the number to be preceded by a plus sign (``+'') or a minus sign (``-'').  A preceding plus sign means ``more than n'', a pre-
     ceding minus sign means ``less than n'' and neither means ``exactly n''.
.
.
     -depth n
             True if the depth of the file relative to the starting point of the traversal is n.

ProcurandoDocumentação POSIXpara "primárias" não houve resultados.

Explorando um pouco, parece que as primárias são diferentes das opções e sinalizadores porque aparecem após as opções, sinalizadores e argumentos principais:

$ find -depth 1 .
find: illegal option -- e
usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
       find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]
$ find . -depth 1
./.DS_Store
./.vagrant
./foo
./some

Estou me perguntando:

  • O que são primárias?
  • Existe alguma documentação que eu possa ler sobre eles?
  • Como eles são diferentes de switches ou sinalizadores?

Responder1

São as condições/ações da findlinguagem de, aquelas em que consiste principalmente a "expressão" referida na linha de uso: -name, -type, -print, -execetc. O termo é usado para separá-los dos operadores que combinam apenas os primários: !, -a, -oe os parênteses.

Não me lembro de ter visto esse termo usado em outros contextos além de find. É usado noEspecificação POSIX parafindE noPágina de manual do FreeBSD. GNU também se destaca nisso, a documentação para GNU find (por exemplo, a página de manual) não usa o termo, mas em vez disso divide as primárias emtestessobre as propriedades dos arquivos,açõesque fazem alguma coisa, eopçõesque afetam o modo como findele funciona. A divisão parece útil, mas é um pouco imprecisa, uma vez que todas as primárias retornam um valor verdade, até mesmo as ações.

informação relacionada