Eu tenho um arquivo inesperado chamado [
- um colchete esquerdo - no meu arquivo /bin no meu Mac Powerbook. Estou comandando Catalina. Quando eu cat
o arquivo, parece algo de autoridade de certificação da Apple. A maior parte é ilegível, mas contém texto como
Apple Certification Authority
e
PROGRAM:test PROJECT:shell_cmds-207.40.1 ??????i@[]missing ]!unexpected operator%s: %s%sclosing paren expectedargument expected%s: bad number%s: out of range)
Alguma ideia do que isso poderia ser? Parece suspeito para mim - como algum código-fonte baseado nas mensagens de erro. Mas não queira apenas deletar caso seja um arquivo que a Apple precisa.
Responder1
O colchete aberto, [
, é um executável padrão, equivalente a test
, que fornece açúcar sintático ao escrever scripts de shell (ou seja, "parece legal")
fruit="banana"
if [ banana = "$fruit" ] # "[" really is an executable
then
echo "Yum, yum"
fi
Ou
fruit="banana"
if test pear = "$fruit"
then
echo "Yum, yum"
fi
Estes são diretamente equivalentes.
Na realidade, seu shell provavelmente implementa ambos [
e test
diretamente, de modo que, quando você os chama, é seu shell que aciona o comando, em vez de executar um processo separado para fazer isso. Novamente, nenhuma diferença perceptível para você, usuário.