A demonstrate script in bash build.sh is likes:
#!/bin/bash
EXTRA_FLAG="-ldflags=\"-H windowsgui\""
# EXTRA_FLAG="-ldflags='-H windowsgui'"
# EXTRA_FLAG='-ldflags="-H windowsgui"'
# EXTRA_FLAG=-ldflags\="-H windowsgui"
go build ${EXTRA_FLAG}
I want to get the result command like: go build -ldflags="-H windowsgui"
, but none of these variables works as expected, which giving result like:
go build '-ldflags="-H' 'windowsgui"'
# go build '-ldflags='\''-H' 'windowsgui'\'''
# go build '-ldflags="-H' 'windowsgui"'
# go build -ldflags=-H windowsgui
Seems the auto-generated single quote ('
) breaks the command, then what is the correct way to define a variable like this?