tee命令创建空文件

时间:2014-01-13 20:18:19

标签: bash list loops tee

您好我生成了以下库存清单,并将其放在名为awk_1

的文件中
dfs
fsd
dsf
sdf

然后我运行以下一个生成正确ULR链接的衬垫

while read i ; do 
  echo $(http://uk.finance.yahoo.com/echartss=$i#symbol=$i\;range=my\;compare=\;indicator=volume\;charttype\=area\;crosshair\=on\;ohlcvalues\=0\;logscale\=off\;source\=undefined\;) tee stock_urls; 
done < awk_1 

然而是不是把文件称为stock_urls?

它也会在屏幕上生成奇怪的输出,下面是我得到标准输出的一小部分输出。它放了&#34; ./ large_cap_stocks.sh:51:./large_cap_stocks.sh:"在前面和&#34;未找到&#34;最后,为什么会发生这种情况。

我一直在寻找为什么这不起作用的任何帮助都会非常感激。

谢谢

1 个答案:

答案 0 :(得分:1)

你可能想这样写:

while read i; do
    echo "http://uk.finance.yahoo.com/echarts?s=$i#symbol=$i\;range=my\;compare=\;indicator=volume\;charttype\=area\;crosshair\=on\;ohlcvalues\=0\;logscale\=off\;source\=undefined\;"
done < awk_1 | tee stock_urls

那是:

  • echo命令中,使用"..."引用您的文字,而不是$(...),这是其他内容
  • 使用管道运算符|将输出传递给tee,您可以通过这种方式管道整个循环,无需对单个echo行进行管道处理。