Home > Enterprise >  What is syntax for single quote inclusion when defining curl --noproxy in bash script?
What is syntax for single quote inclusion when defining curl --noproxy in bash script?

Time:09-02

I want to include --noproxy '*' with curl in a CURL definition in a bash script, i.e.

CURL='curl --noproxy \'*' --fail --max-time 10 --silent --output /dev/null --write-out '%{http_code}\\n''

But this does not correctly process '*'.

echo $CURL

curl --noproxy \* --fail --max-time 10 --silent --output /dev/null --write-out %{http_code}\n

Can anyone advise as to the correct syntax for inclusion of the single quotes with *, which noproxy requires?

CodePudding user response:

You would need to escape both 's, but curl doesn't need the quotes. The quotes are simply to prevent the shell from expanding * before curl sees it. '*' and \* are equivalent.

Don't define a parameter to execute as a command; define a function.

CURL () {
  curl --noproxy '*' --fail --max-time 10 --silent --output /dev/null --write-out '%{http_code}\n' "$@"
}
  •  Tags:  
  • bash
  • Related