下划线之间的定界变量

下划线之间的定界变量

假设我有这样的东西,

tee filename <<EOF
...
access_log /srv/users/serverpilot/log/$APP_NAME/$APP_NAME_nginx.access.log  main;
...
EOF

其中$APP_NAME是一个变量。

Bash 将其解释$APP_NAME_nginx为变量,并且不在那里打印任何值。我该如何修复?

答案1

你需要:

${APP_NAME}_nginx

这将使bash变量扩展APP_NAME为其值并添加_nginx到该值。

这是一个测试:

$ APP_NAME=check
$ echo "$APP_NAME"
check
$ echo "$APP_NAME_var"

$ echo "${APP_NAME}_var"
check_var

相关内容