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
。
我们使用 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
。