0

我想用 GNU Make(Makefile) 将多行文本保存到一个文件中。但这给了我错误。我想用这个脚本制作一个虚拟主机配置文件。$$dir 将是用户给出的名称。请帮帮我。

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"
4

1 回答 1

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 的其他地方?)。

于 2013-06-06T12:59:08.407 回答