使用shell脚本中的内容创建文件

时间:2012-11-29 19:54:43

标签: bash shell

如何在shell脚本中创建一个名为foo.conf的文件并使其包含:

NameVirtualHost 127.0.0.1

# Default
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost>

4 个答案:

答案 0 :(得分:92)

使用“此处文档”:

cat > foo.conf << EOF
NameVirtualHost 127.0.0.1

# Default
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost>
EOF

答案 1 :(得分:15)

您可以使用echo

执行此操作
echo 'NameVirtualHost 127.0.0.1

# Default
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost>' > foo.conf

单引号括起来的所有内容都被解释为文字,因此您只需将该块写入名为foo.conf的文件中。如果它不存在,将创建它。如果确实存在,则会被覆盖。

答案 2 :(得分:5)

heredoc可能是最简单的方法:

cat <<END >foo.conf
NameVirtualHost 127.0.0.1

# Default
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost>
END

答案 3 :(得分:4)

这段代码最适合我:

sudo dd of=foo.conf << EOF
<VirtualHost *:80>
  ServerName localhost
  DocumentRoot /var/www/localhost
</VirtualHost>
EOF

这是唯一可以与sudo开箱即用的人!