Você já tentou usar -f
? Diz a treliça para seguir todos os filhos que o comando original gera. Não tenho certeza se isso funcionará porque o comando tar não está gerando o comando gzip.
A outra opção que pode funcionar é:
truss -leDo /tmp/truss.tar.out tar cvf - dirs/ | truss -leDo /tmp/truss.gzip.out gzip -1 > archive.tar.gz
Mais uma vez, no entanto, não sei se funcionará, mas desta vez é porque não sei o que a treliça faz para STDIN.
Se os dois falharem, você poderá chegar a algum lugar usando a opção -f
e agrupando os dois em um shell:
truss -leDo /tmp/truss.out ( tar cvf - dirs/ | gzip -1 > archive.tar.gz )
Este requer o bash, mas pode ser modificado para ser executado sob outros shells.
Tudo isso presume que você deseja que o comando tar
e gzip
seja separado. Se você não precisar disso, poderá usar a opção -z
para tar para que ela faça a compactação.