
Eu vi tanto no Cygwin quanto no Linux o [
comando em /bin
. Sempre que executo, recebo um erro dizendo: missing ]
.
Nunca entendi o que esse comando faz, só um dia descobri que ele queria descobrir o que faz (e se é útil ou não)
OBSERVAÇÃO:Eu teria verificado a man
entrada em busca de uma resposta, mas, infelizmente, não há nenhuma entrada nela para[
Responder1
Isso étest
comando.
Por exemplo, descubra se /etc/passwd
existe ou não:
[ -f /etc/passwd ] && echo "Yes" || echo "No"
Regularmente você escreve da seguinte maneira:
if test -f /etc/passwd
then
echo "Yes"
else
echo "No"
fi
Read
Responder2
Você já viu/notou condições em scripts de shell? Eles são do formato:
[ -e $FILE ]
Nesses casos, a funcionalidade de verificação de condição geralmente está embutida no shell que interpreta esses scripts, geralmente bash ou sh-aliased-bash.
Os binários que você vê têm a mesma finalidade, mas estão presentes para que as verificações de condição possam ser usadas em shellssemessa funcionalidade integrada.
Responder3
O [colchete é outra maneira de chamar o test
comando.
Referir-sepágina de manual do testepara mais informações :)