如何在shell脚本中将$ abc写为字符串值

时间:2015-02-16 14:55:58

标签: shell ubuntu nginx

我正在创建一个脚本文件来保存以下内容

proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header X-Forwarded-For $remote_addr;

所有其他内容都写得正确,但$ remote_addr没有添加到文件中我的意思是我没有发送$ remote_addr的值我希望文件中的实际内容与$ remote_addr 我试着通过封装''但没有成功。

我所做的是

echo "server {
  listen                *:80;
  server_name           $SERVER_NAME;

  access_log            /var/log/nginx/app.dev.access.log;
error_log             /var/log/nginx/app.dev.error.log;
  location / {
    proxy_pass $PROXY_PASS;
    proxy_http_version 1.1;
    proxy_set_header Upgrade '$http_upgrade';
    proxy_set_header Connection 'upgrade';
    proxy_set_header X-Forwarded-For '$remote_addr';
  }
}
"

1 个答案:

答案 0 :(得分:1)

为防止shell解释美元符号,请反斜杠:

echo \$remote_addr

或使用单引号

echo '$remote_addr'