How to escape ampersands, semicolons, and curly braces in command-line powershell params?
powershell .\makeConfig.ps1 -password "'xxx<xxxx;xxxxx&x.xxxx}xx/xxx'" -otherparam 3
Here
- outer
"
double quotes would escape allcmd
poisonous characters e.g.<
,&
etc. excepting"
itself and%
percentage sign (and!
exclamation mark if delayed expansion is enabled) while - inner
'
apostrophes (single quotes) would escape allpowershell
ones (excepting'
apostrophe itself).
However, exceptions noticed above could be escaped as well… Based on both Escape characters, Delimiters and Quotes articles:
- in
cmd
and batch-file - in powershell
I'm running firebase
using a powershell script. I solved the problem by using triple double-quotes like this: firebase deploy --token "$firebaseToken" --project "$firebaseProject" --message """$releaseMessage"""
. The URL is in the $releaseMessage
, and the ampersand does't cause a problem anymore