Eu estava olhando para coreutils e encontrei este como um dos arquivos incluídos como parte de coreutils: /usr/bin/[
. O que é [
e o que faz?
É um executável. Só não sei o que faz ou como usá-lo.
$ file / usr / bin / [
/ usr / bin / [: executável LSB ELF de 32 bits, Intel 80386, versão 1 (SYSV), vinculado dinamicamente (usa bibliotecas compartilhadas), para GNU / Linux 2.6.15, despojado
Quando tento executá-lo, acho que é o padrão para o bash construído em expansão de linha. Em vez de realmente executar o arquivo.
$ "/ usr / bin / ["
/ usr / bin / [: ausente ] ']' $ /usr/bin/\[
/usr/bin/[: missing
man [
trabalha no OS X.Respostas:
É um equivalente do comando
test
. (Consulteinfo test
.) Geralmente, você o usa em scripts em expressões condicionais como:O colchete de fechamento é necessário para incluir a condicional. (Bem, parece necessário apenas parecer melhor no código. Alguém conhece algum outro motivo prático para isso?)
fonte
[
é tanto uma concha interna e externa de um programa com o mesmo (ou semelhante) a utilização. No bash, quando você executa[
outest
está invocando o built-in.É equivalente ao
test
comando.Ao invés de
Você pode usar:
Também pode ser usado em loops:
Você também pode usá-los em uma linha como esta:
fonte