Archlinux'es pacman + tee == console não esclarecido IO [fechado]

0

Eu tenho um pequeno problema ao capturar o IO pacman com o utilitário tee . Eu tento esta linha de comando:

pacman -S group-1 group-2 | tee pacman.log

E há um problema: quando a consulta do pacman que empacota do group-1 deve instalar uma lista dos pacotes desaparece em algum lugar. Se eu pressionar Enter (ou seja, escolha "Todos os pacotes"), a lista deles aparece e pacman consulta sobre pacotes do group-2 , mas como anteriormente a lista dos pacotes está oculta.

    
por Serge Roussak 21.03.2016 / 20:29

1 resposta

2

Se o pacman gravar no erro padrão, isso não será capturado com o comando pipe fornecido. Você poderia redirecionar o erro padrão para seguir a saída padrão, assim:

pacman -S group-1 group-2 2>&1 | tee pacman.log

mas uma solução menos intrusiva para programas interativos de linha de comando é capturar a saída usando script , por exemplo,

script -c "pacman -S group-1 group-2" pacman.log

para o Linux. Isso irá capturar todos os personagens enviados para o terminal sem interferir nos prompts.

Para programas específicos, você pode encontrar soluções específicas. Por exemplo, o manual pacman diz que tem uma opção possivelmente útil:

-p, --print

Only print the targets instead of performing the actual operation (sync, remove or upgrade). Use --print-format to specify how targets are displayed. The default format string is "%l", which displays URLs with -S, file names with -U, and pkgname-pkgver with -R.

    
por 21.03.2016 / 21:13