如何使用pipe道输出运行truss命令?
例如。
# truss -leDo /tmp/truss.out tar cvf - dirs/ | gzip -1 > archive.tar.gz
我只得到桁架中的“tar”输出,而不是gzip!
你尝试使用-f ? 它告诉桁架跟随原始命令产生的任何孩子。 我不知道这是否会工作,因为tar命令实际上并没有产生gzip命令。
另一个可能的select是:
truss -leDo /tmp/truss.tar.out tar cvf - dirs/ | truss -leDo /tmp/truss.gzip.out gzip -1 > archive.tar.gz
不过,我不知道这是否会奏效,但这次是因为我不知道桁架对STDIN有什么作用。
如果这两者都失败了,你可能会在某处通过使用-f选项并将它们包装在一个shell中:
truss -leDo /tmp/truss.out ( tar cvf - dirs/ | gzip -1 > archive.tar.gz )
这个需要bash,但可以修改为在其他shell下运行。
所有这一切都假设您要tar和gzip命令分开。 如果你不需要的话,你可以使用-z选项来进行压缩。