81

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

NameVirtualHost 127.0.0.1

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

4 回答 4

135

使用“此处文档”:

cat > foo.conf << EOF
NameVirtualHost 127.0.0.1

# Default
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost>
EOF
于 2012-11-29T19:57:43.253 回答
27

你可以这样做echo

echo 'NameVirtualHost 127.0.0.1

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

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

于 2012-11-29T19:57:44.133 回答
9

heredoc 可能是最简单的方法:

cat <<END >foo.conf
NameVirtualHost 127.0.0.1

# Default
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost>
END
于 2012-11-29T19:59:47.900 回答
6

这段代码最适合我:

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

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

于 2017-02-05T17:56:44.243 回答