Bash重定向

时间:2015-12-07 12:18:28

标签: bash sh

有人可以解释一下bash的以下行为,如果我的理解是正确的:

  1. echo abcd > abc def

      

    echo abcd将其输出到std out stream,但由于存在“>”它被重定向到文件abc   如何将def存储为文件abc中的字符串而不是另一个包含字符串abcd的文件?

  2. echo abcd > abc > def

      

    这导致字符串abcd存储在文件def中,文件abc保持为空。怎么样?

  3. 感谢。

1 个答案:

答案 0 :(得分:3)

在此命令中:

$bachelorStudentsResult = $bachelorStudentsQuery->where('course_id', 3)
                        ->get();

$masterStudentsResult = $masterStudentsQuery->where('course_id',4)
                        ->get();

echo abcd > abc def foo bar 用于输出文件名后的参数和休息用于>。因此,你得到:

echo

然后在这个命令中:

cat abc
abcd def foo bar

只有echo abcd > abc > def > xyz 之后的最后一个文件名实际上输出内容和剩余的文件将为空:

>

要将输出存储在多个输出文件中,请使用cat xyz abcd cat def cat abc 这样的(使用抑制标准输出):

tee

然后查看内容:

date | tee abc def xyz > /dev/null
相关问题