Questão O que é o `[` comando? [duplicado]


Esta questão já tem uma resposta aqui:

Eu vi tanto no Cygwin quanto no Linux [ comando sob /bin. Sempre que eu executo, recebo um erro dizendo: missing ].

Eu nunca entendi o que este comando faz, eu apenas um dia descobri que queria descobrir o que ele faz (e se é útil ou não)

NOTA: Eu teria verificado o man entrada, para uma resposta, mas, infelizmente, não há entrada nele para [


4


origem


Qual é o comando? - stderr
@ TiagoƇ. O comando é chamado [ - inixsoftware
No bash, ele é reimplementado como um comando interno. Em um tipo de prompt bash help [ - glenn jackman


Respostas:


Isto é test comando.

Por exemplo, descubra se /etc/passwd existe ou não:

[ -f /etc/passwd ] && echo "Yes" || echo "No"

Regularmente você escreve da seguinte forma:

if test -f /etc/passwd
then
  echo "Yes"
else
  echo "No"
fi
Read 

7





Você já viu / notou se as condições em scripts de shell? Eles são da forma:
[ -e $FILE ] 

Nesses casos, a funcionalidade de verificação de condição é normalmente incorporada ao shell interpretando esses scripts, geralmente bash ou sh-aliased-bash.

Os binários que você vê servem a mesma finalidade, mas estão presentes para que as verificações de condição possam ser usadas em shells sem tal funcionalidade embutida.


2





O [colchete é outra maneira de chamar o test comando.

Referir-se Página Man do teste para mais informações :)


2