¿Qué son las primarias de mando?

¿Qué son las primarias de mando?

Me encontré con la noción de primarias al ejecutar 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.

buscandodocumentación POSIXpara "primarias" no arrojó resultados.

Al explorar un poco, parece que las primarias son diferentes de los interruptores y las banderas porque aparecen después de los interruptores, las banderas y los argumentos principales:

$ 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

Me pregunto:

  • ¿Qué son las primarias?
  • ¿Hay alguna documentación que pueda leer sobre ellos?
  • ¿En qué se diferencian de los interruptores o banderas?

Respuesta1

Son las condiciones/acciones del findlenguaje de, en las que consiste principalmente la "expresión" a la que se refiere la línea de uso: -name, -type, -print, -execetc. El término se usa para separarlos de los operadores que solo combinan los primarios: !, -ay -oel paréntesis.

No recuerdo haber visto ese término usado en otros contextos que no sean find. Se utiliza en elEspecificación POSIX parafindy en elPágina de manual de FreeBSD. GNU también destaca en esto, la documentación para GNU find (por ejemplo, la página de manual) no usa el término, sino que divide las primarias enpruebassobre las propiedades de los archivos,comportamientoque haga algo, yopcionesque afectan findsu funcionamiento. La división parece útil pero es ligeramente inexacta, ya que todos los primarios devuelven un valor de verdad, incluso las acciones.

información relacionada