Jenkins shell 执行中的转义变量

Escape variable in Jenkins shell execution

我们使用 Jenkins 运行 为我们提供一些 Wordpress CLI 的东西,我想将一些 PHP 传递给 Wordpress CLI。例如:

cd wordpress && wp core config --skip-check --dbhost=dbhost --dbname=dbname --dbuser=user --dbpass=pass --extra-php <<PHP
define('HOST', $_SERVER['HTTP_HOST']);
PHP

Jenkins 解释 $_SERVER,我只剩下 ['HTTP_HOST']。我怎样才能逃脱$_SERVER?

我试过 define('HOST', $_SERVER['HTTP_HOST']);,但它仍然被解释为一个变量。

明白了...用双引号将定义 HEREDOC 的第一部分括起来。

cd wordpress && wp core config --skip-check --dbhost=dbhost --dbname=dbname --dbuser=user --dbpass=pass --extra-php <<"PHP"
define('HOST', $_SERVER['HTTP_HOST']);
PHP

它不再解释$_SERVER