我想用GNU Make(Makefile)将多行文本保存到文件中。但它给了我错误。我想用这个脚本制作一个虚拟主机配置文件。 $$ dir将是user给出的名称。帮助我,PLZ。
define info =
echo <VirtualHost *:80>
echo ServerAdmin webmaster@localhost
echo ServerName $$dir.io
echo ServerAlias www.$$dir.io
echo DocumentRoot /var/www/$$dir/public_html
echo <Directory /var/www/$$dir/public_html/>
echo Options Indexes FollowSymLinks MultiViews
echo AllowOverride All
echo Order allow,deny
echo allow from all
echo </Directory>
echo </VirtualHost>
endef
echo $$info > /etc/apache2/sites-avaliable/$$dir.; \
echo "Done"
答案 0 :(得分:1)
这个例子如此破碎,让我想知道你是否尝试过这项工作,或者你是否只是直接在StackOverflow问题中输入了“最佳猜测”。
info = \
echo '<VirtualHost *:80>'; \
echo ' ServerAdmin webmaster@localhost'; \
echo ' ServerName $$dir.io'; \
echo ' ServerAlias www.$$dir.io'; \
echo ' DocumentRoot /var/www/$$dir/public_html'; \
echo ' <Directory /var/www/$$dir/public_html/>'; \
echo ' Options Indexes FollowSymLinks MultiViews'; \
echo ' AllowOverride All'; \
echo ' Order allow,deny'; \
echo ' allow from all'; \
echo ' </Directory>'; \
echo '</VirtualHost>';
all:
( $(info) ) > /etc/apache2/sites-avaliable/$(dir); \
echo "Done"
您没有准确指定“用户给出”的含义(在make命令行上?在环境中?在makefile的其他位置?)。