Eu sei que muitas vezes é possível enganar utilitários de linha de comando que esperam que um arquivo seja canalizado para stdout passando /dev/stdout
como o nome do arquivo.
Eu estou querendo saber se é possível fazer um canal de ferramenta para um descritor de arquivo numerado em vez de stdout
/ stderr
, assim como posso fazer o seguinte para canalizar stderr
em vez de stdout
:
command 2>&1 >/dev/null | grep 'something'
Para tornar minha pergunta mais concreta (exemplo reproduzível mínimo): o que preciso substituir /dev/stdout
aqui para que a saída acabe no descritor de arquivo número 3 em vez de stdout
(não estou fazendo uma pergunta sobre nenhuma ferramenta específica, quero saber o que string para usar para canalizar para fd 3 como posso canalizar para fd 1 usando /dev/stdout
.
cp a /dev/stdout
Substitua cp
por um comando que geralmente espera um caminho de arquivo.
O /dev/3
trabalho? Estou procurando o analógico /dev/stdout
mas para fd 3 em vez de fd 1.
Para reformular a pergunta de outra maneira:
file descriptor 1 is to /dev/stdout
what
file descriptor 3 is to ???
O que devo usar aqui em vez de???
Já pesquisei bastante mas não encontrei nada.