Explicación de opciones (banderas) para bash

Explicación de opciones (banderas) para bash

A menudo veo scripts con el uso deopcionescomo en if [ -f some_file ]comprueba si some_filees un archivo. Tengo una comprensión muy vaga debanderas, pero ¿alguien puede darme una buena explicación? A otros les gusta -p, -sno tengo idea de qué son y no pude encontrar buenos recursos sobre ellos, ya que una sola búsqueda en Google no arroja ningún buen resultado.

Respuesta1

Lo creas o no, [en realidad es otro nombre para testmandar.

Puedes consultar la manpágina:

man test

testTambién es un shell integrado en la mayoría de los shells (y tiene prioridad sobre el externo):

% type -a \[
[ is a shell builtin
[ is /usr/bin/[

% type -a test
test is a shell builtin
test is /usr/bin/test

En bashtambién puedes ver help test.

Respuesta2

La mejor solución es el manual de bash, sí el sencillo man bash.

Para encontrar la entrada exacta en el manual, ejecute este comando:

LESS=+/'^CONDITIONAL EXPRESSIONS' man bash

Cuando se trabaja dentro de un shell bash, esto también ayuda:

help test

información relacionada