变量作为在bash文件中创建的文件被删除



我有一个创建文件的部署脚本,它有点像:

#!/bin/bash
...
cat << EOF > nginx/test.conf
server {
listen       80;
server_name  domain.com;
return       301 http://www.domain.com$request_uri;
}
EOF
...

但是,当部署脚本运行后创建文件时,它会输出以下内容:

nginx/test.conf

...
server {
listen       80;
server_name  domain.com;
return       301 http://www.domain.com;
}
...

如何阻止它删除从部署脚本创建的变量?

我想你在问如何在输出文件中获得包含$request_uri的返回。现在,当你使用cat时,shell正试图将$request_uri扩展到它的值,该值可能是空的,所以它似乎消失了。如果你想让结果包含这个字符串,你需要转义$,这样它就不会试图将其扩展为

cat << EOF > nginx/test.conf
server {
listen       80;
server_name  domain.com;
return       301 http://www.domain.com$request_uri;
} 
EOF

相关内容

  • 没有找到相关文章

最新更新