Por que existe um arquivo chamado [no meu diretório / usr / bin? [duplicado]

1
    

Esta pergunta já tem uma resposta aqui:

    
Recentemente, de volta ao Linux a partir de outro sistema operacional, notei um arquivo chamado [que parece estranho para mim. Para que serve?

$ ls -l /usr/bin | head -2
-rwxr-xr-x 1 root root       39552 Nov  3 14:44 [

Estou usando o Ubuntu 15.04

    
por Andy Fusniak 27.04.2015 / 08:26

2 respostas

6

O comando [ é outro "nome" para o comando test , para que a sintaxe das construções if pareça mais agradável. Estes dois são equivalentes:

if test $x -eq 0

if [ $x -eq 0 ]

O% final% co_de é apenas açúcar sintático. A equivalência é principalmente apenas uma característica histórica.

Observe que a nova construção de teste ] (que não é padrão) faz parte da sintaxe da shell, em vez de ser um comando.

    
por 27.04.2015 / 09:04
0

[ é um comando para garantir que você possa usar type [

Ele diz que é um comando interno do shell ou, se você usar type -a [ , verá que há outro diretório [ under /usr/bin/ .

Você pode ver que é ajuda com o comando help [ .

UTILIZAÇÃO: é outra forma de if no bash, por exemplo:

[ "Hello" == "Helo" ] ; echo $?

    
por 27.04.2015 / 08:29