【发布时间】:2015-04-27 19:39:51
【问题描述】:
我使用 printf 来设置我的 Nginx 设置,它工作正常,但是阅读和更改很尴尬;有没有更好的方法来提高可读性?
config.vm.provision "shell", inline: <<-SHELL
sudo rm /etc/nginx/sites-enabled/default
sudo printf '%s\n' 'server {' 'root /home/vagrant/web;' 'index index.php index.html index.htm;' 'location / {' 'try_files $uri $uri/ /index.php?$args ;' '}' 'location ~ \.php$ {' 'fastcgi_split_path_info ^(.+\.php)(/.+)$;' 'fastcgi_pass unix:/var/run/php5-fpm.sock;' 'fastcgi_index index.php;' 'include fastcgi_params;' '}' '}' >> /etc/nginx/sites-enabled/default
sudo service nginx start
SHELL
【问题讨论】:
-
假设这在 vagrantfile 中是合法的,您可以只使用单个单引号字符串作为
printf的参数并在字符串中使用文字换行符。 -
sudo printf仅提升printf命令的权限,该命令仅在打开输出文件之后运行,这意味着它不会为您提供任何提升的权限打开输出文件,所以这里给出的sudo对你的 Vagrantfile 的工作方式没有任何好处。
标签: shell nginx vagrantfile code-readability