When I use the drush site-install command and a form value contains the equal sign (an API key for example), then Drush cuts the value at the equal sign. For example:

drush si -y profile_name --account-name=... --account-pass=... --db-url=mysql:... form_name.field_name="e+gklgfssdk=jgfsfg/11iXP6VJM0MjDpRk2MEKyc="

The value of the form_name.field_name at install will be "e+gklgfssdk", the last characters are missing, Drush cuts the value at the equal sign. This is a bug? Or how can I set the correct value?


It looks like there isn't a way to do this, actually. The site installation code splits the string on the '=' and doesn't do any unescaping nor does it look like it would support this. I haven't tried escape()ing the value and then passing it in (so that = would become %3D) but unless you were expecting an escaped value this would probably still not work.

Depending on what you're setting, your best bet might be to do some sort of drush variable-set and set the values after the site install completes.

  • It does not work, the result is: e+gklgfssdk\ – zly Jan 29 '16 at 10:49
  • Thanks, then this is a bug, I reported on github (drush-ops/drush). – zly Jan 29 '16 at 15:57
  • In my case I can not avoid, the installation process must set an API key, which contains an equal sign. I hacking my Distribution temporarly. – zly Jan 29 '16 at 15:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.