o que significa 1 & 5?

0

Às vezes, em scripts de shell, vejo como

echo yes 1>&5

Eu entendo redirecionar para algum lugar, mas gostaria de saber mais detalhes.

E mais especificamente, o que significa 1, & gt ;, & amp ;, 5?

Eu agradeceria se você os explicasse por token.

Ou qualquer ponteiro que explique.

    
por jaeyong 15.08.2012 / 04:09

1 resposta

2

Enquanto procurava na internet um pouco, achei isso.

n>&m    means redirect FD n to the same places as FD m. Eg, 2>&1 means send STDERR to the same place that STDOUT is going to.

STDIN is FD 0, while STDOUT is FD 1, and STDERR is FD 2

ref: link

O descritor de arquivo 5 às vezes é usado porque é o descritor de arquivo numerado mais baixo que nunca foi realmente usado para mais nada (o FD 4 era /dev/tty em alguns unixes antigos e o FD 3 tinha vários sistemas não-padrão , usa em outro Unix). Embora nem 3 ou 4 tenham sido usados em mais de 2 décadas, é provavelmente apenas coincidência (ou tradição) que você tenha notado o surgimento de FD 5.

ref: link

Quanto ao motivo pelo qual é usado. Usando um descritor de arquivo, o script-writer evita a necessidade de realmente gravar em um arquivo, o que pode economizar tempo e tornar o script mais limpo (sem possibilidade de sair acidentalmente dos arquivos). Além disso, permite que você faça todas as coisas legais com o redirecionamento de fluxos para locais diferentes e assim por diante.

    
por jaeyong 15.08.2012 / 04:34