til

Today I Learned: collection of notes, tips and tricks and stuff I learn from day to day working with computers and technology as an open source contributor and product manager

View project on GitHub

Handling shell sensitive characters in URL

Sometimes you want to request an URL from the command-line, but the URL contains characters bearing meaning in your shell.

$ curl --header Accept:application/json https://USERID:funkyPassMo|)@eksempel.dk/dostuff
-bash: syntax error near unexpected token '|'

Simply quote the URL

$ curl --header Accept:application/json \
"https://USERID:funkyPassMo|)@eksempel.dk/dostuff"

And if your special character is a quote ", quote differently, use ' for example

$ curl --header Accept:application/json \
'https://USERID:funky"PassMo|)@eksempel.dk/dostuff'

See also: http://wiki.bash-hackers.org/syntax/quoting