Explicação das opções (sinalizadores) para bash

Explicação das opções (sinalizadores) para bash

Muitas vezes vejo scripts com uso deopçõescomo em if [ -f some_file ]verifica se some_fileé um arquivo. Eu tenho uma compreensão muito vagabandeiras, mas alguém pode me dar uma boa explicação? Outros gostam -p, -snão tenho ideia do que são e não consegui encontrar bons recursos sobre eles, pois uma única pesquisa no Google não produz nenhum bom resultado.

Responder1

Acredite ou não, [é na verdade outro nome para testcomando.

Você pode conferir a manpágina:

man test

testtambém é um shell embutido na maioria dos shells (e tem precedência sobre o externo):

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

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

Em bashvocê também pode ver help test.

Responder2

A melhor solução é o manual do bash, sim, o simples man bash.

Para encontrar a entrada exata no manual, execute este comando:

LESS=+/'^CONDITIONAL EXPRESSIONS' man bash

Ao trabalhar dentro de um shell bash, isso também ajuda:

help test

informação relacionada