我需要cat将heredoc写入文件吗?

时间:2013-01-10 22:03:31

标签: bash cat

我有一个写入文件的脚本,如下所示:

cat >myfile <<EOF
some lines
and more lines
EOF

但我不确定这是否是无用的猫......

4 个答案:

答案 0 :(得分:5)

即使这可能不是UUOC,也可以使用tee代替:

tee myfile <<EOF
some lines
and more lines
EOF

它更简洁,加上与重定向运算符不同,如果您需要使用root权限写入文件,它可以与sudo结合使用。

答案 1 :(得分:2)

这不是真正的UUOC。你也可以用echo做同样的事情:

echo "this is line
this is another line
this is the last line" > somefile

答案 2 :(得分:1)

UUOC就是在您不需要时使用cat。如:

cat file | grep "something"

相反,你可以在没有猫的情况下做到这一点:

grep "something" file

查看here了解UUOC的原始定义。

答案 3 :(得分:1)

在zsh中,它是UUOC,因为:

>myfile <<EOF
some lines
and more lines
EOF

工作正常。