有人可以解释一下bash的以下行为,如果我的理解是正确的:
echo abcd > abc def
echo abcd将其输出到std out stream,但由于存在“>”它被重定向到文件abc 如何将def存储为文件abc中的字符串而不是另一个包含字符串abcd的文件?
echo abcd > abc > def
这导致字符串abcd存储在文件def中,文件abc保持为空。怎么样?
感谢。
答案 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