这有什么区别?

时间:2014-01-24 13:29:08

标签: bash

我编写了一个自动执行例程的脚本,但无法理解下面两个块之间的区别。第一部作品,第二部作品没有。

这有效:

echo "$(pull_data)" > data.csv

cat data.csv | while read a b c d; do

这不起作用:

cat "$(pull_data)" | while read a b c d; do

为什么?

2 个答案:

答案 0 :(得分:3)

cat连接和输出文件 - 我想你在第二个声明中需要echo

echo "$(pull_data)" | while read a b c d; do

答案 1 :(得分:2)

cat用于处理文件。在这种情况下,您没有文件。如果您不需要将数据存储在data.csv中,则应该能够将其直接传送到循环中:

echo "$(pull_data)" | while read a b c d; do