2015-10-14 107 views
1

當使用wafhttps://waf.io)構建系統時,如何在構建過程中將命令的輸出打印到控制檯?該命令是一個外部操作系統命令,並調用這樣的:如何在waf中抑制構建命令的控制檯輸出?

bld(rule='cmd ${SRC} ${TGT}', source='input.txt', target='output.txt') 

除了增加外殼重定向命令,沒有任何WAF選項來做到這一點?如何抑制stdout和stderr命令流?

+0

'> NUL 2>&1'或'>的/ dev/null 2>&1' –

回答

2

您可以redirectstdoutstderr在Windows(描述符12,分別地)到/dev/null在非Windows和nul這樣的:

// In your wscript 
import os 

devnull = ('nul' if 'nt' in os.name '/dev/null') 

def build(bld): 
    bld(rule='cmd ${SRC} ${TGT} 1>' + devnull + ' 2>&1', source='input.txt', target='output.txt')