diff --git a/pkg/yqlib/encoder_shellvariables.go b/pkg/yqlib/encoder_shellvariables.go index 39236703..769252ba 100644 --- a/pkg/yqlib/encoder_shellvariables.go +++ b/pkg/yqlib/encoder_shellvariables.go @@ -57,7 +57,13 @@ func (pe *shellVariablesEncoder) doEncode(w *io.Writer, node *CandidateNode, pat // let's just pick a fallback key to use if we are encoding a single scalar nonemptyPath = "value" } - _, err := io.WriteString(*w, nonemptyPath+"="+quoteValue(node.Value)+"\n") + var valueString string + if pe.prefs.UnwrapScalar { + valueString = node.Value + } else { + valueString = quoteValue(node.Value) + } + _, err := io.WriteString(*w, nonemptyPath+"="+valueString+"\n") return err case SequenceNode: for index, child := range node.Content {