hello, you should quote the "offending" argument, since it contains shell metacharacters curl https://www.google.com/search?q=test&ie=utf-8&oe=utf-8&client=firefox-b-ab should become curl " https://www.google.com/search?q=test&ie=utf-8&oe=utf-8&client=firefox-b-ab" you can use single or double quotes, or you can escape (prefixing with a blackslash) only the & and the ? character, since they both are shell metacharacters, like this: curl https://www.google.com/search\?q=test\&ie=utf-8\&oe=utf-8\&client=firefox-b-ab you can read more about shell metacharacters here: http://faculty.salina.k-state.edu/tim/unix_sg/shell/metachar.html I hope to have been helpful, best regards Il giorno dom 30 set 2018 alle ore 15:55 chiasa.men ha scritto: > if you call e.g. curl with a link that contains an & zsh says: > zsh: parse error near `&'. > > Is there an zsh idiom to fix that? > I came up with > curl ^@|ctrl+shift+v|esc'. > > I also tried sth like > !!:*:q > but that doesnt return the whole link (only a part of it) > curl > https://www.google.com/search?q=test&ie=utf-8&oe=utf-8&client=firefox-b-ab > zsh: parse error near `&' > echo !!:*:q > echo 'https://www.google.com/search?q=test&ie=utf-8&' > https://www.google.com/search?q=test&ie=utf-8& > > Is that related to my zshrc entry: > WORDCHARS='*?_-.[]~=&;!#$%^(){}<>' > or intended behavior? It breaks at a 'o' it seems.. > > > Strangely :0-$ gets the whole link: > echo !!:0-$:q > echo 'curl' 'https://www.google.com/search? > q=test&ie=utf-8&oe=utf-8&client=firefox-b-ab' > curl > https://www.google.com/search?q=test&ie=utf-8&oe=utf-8&client=firefox-b-ab > > Why is that? > > > -- Pier Paolo Grassi email: pierpaolog@gmail.com linkedin: https://www.linkedin.com/in/pier-paolo-grassi-19300217 founder: https://www.meetup.com/it-IT/Machine-Learning-TO