tee不是在脚本中工作但在bash中工作

时间:2018-04-21 05:40:02

标签: bash grep tee

所以我试图逐行输出一个程序,然后将它发送到一个文件,如果它匹配“CPU”,我也希望每一行都能进入屏幕。

此命令仅在使用^ C:

退出脚本后才有效
declare @query varchar(1000) = 'SELECT COL1 FROM TABLE1 AS A JOIN TABLE2 B ON A.ID=B.ID JOIN TABLE3 AS C ON A.ID=C.ID'
 select b.name, 'ColX'+ cast(row_number() over( order by (select 0)) as varchar) as rn into #temp
 from dbo.RegExSplit(' ',@query,1) a join sys.tables b on a.match = b.name

 declare @cols varchar(100)
 select @cols = 
 stuff((select ',' +rn  from #temp for xml path('')),1,1,'')

 exec('select * from #temp pivot(max(name) for rn in ('+@cols+' ))piv')
 drop table #temp

但是如果我将其复制并粘贴到bash脚本“start.sh”

cpuminer-multi/cpuminer -u user -p pass -a sha256d -o stratum+tcp://stratum.pool.com:3333 -t cputhreads | tee >(grep "CPU" >> cpu.txt);

并将其从bash运行为“./start.sh”,它在没有任何内容的情况下填充cpu.txt,即使在退出^ C

之后也是如此

所以我的问题是

答:为什么它只在^ C后填充cpu.txt文件?

B:为什么它作为普通的bash命令工作,而不是在脚本中?

0 个答案:

没有答案