我试图将回波重定向到文件,但回车(\r(被插入为^m。这是我正在使用的命令
echo -e "<VirtualHost *:80>
r DocumentRoot /var/www/html
r ServerName site
r ServerAlias site
r ErrorLog "/var/log/apache2/html-error.log"
r LogFormat "%t<>%u<>%h<>%O<>%T<>%>s<>%{Referer}i<>%r<>%{User-Agent}i" combined
r CustomLog "/var/log/apache2/html-access.log" combined
r RewriteEngine on
r RewriteCond %{SERVER_NAME} =site
r RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
r</VirtualHost>n" > teste.txt
这就是它在文件中的样子:
<VirtualHost *:80>
^M DocumentRoot /var/www/webapp
^M ServerName iqnus.bvloja.com
^M ServerAlias iqnus.bvloja.com
^M ErrorLog "/var/log/apache2/webapp-error.log"
^M LogFormat "%t<>%u<>%h<>%O<>%T<>%>s<>%{Referer}i<>%r<>%{User-Agent}i" combined
^M CustomLog "/var/log/apache2/webapp-access.log" combined
^M RewriteEngine on
^M RewriteCond %{SERVER_NAME} =iqnus.bvloja.com
^M RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
^M</VirtualHost>
您可能正在查找n
而不是r
。非Windows机器上的新行将仅为n
,或者如果您在Windows上,则为rn
。
-e标志可以解释反斜杠转义。只需使用echo而不是echo-e。