diff --git a/acid.go b/acid.go index 2c59c38..17ca23b 100644 --- a/acid.go +++ b/acid.go @@ -102,7 +102,7 @@ var shellFuncs = ttemplate.FuncMap{ "quote": func(word string) string { // History expansion is annoying, don't let it cut us. if strings.IndexRune(word, '!') >= 0 { - return "'" + strings.ReplaceAll(word, "'", `'"'"'`) + "'" + return "'" + strings.ReplaceAll(word, "'", `'\''`) + "'" } const special = "$`\"\\" diff --git a/acid_test.go b/acid_test.go index f23d892..614fd0a 100644 --- a/acid_test.go +++ b/acid_test.go @@ -12,7 +12,7 @@ func TestTemplateQuote(t *testing.T) { for _, test := range []struct { input, output string }{ - {`!!`, `'!!'`}, + {`!!'!$`, `'!!'\''!$'`}, {``, `""`}, {`${var}`, `"\${var}"`}, {"`cat`", "\"\\`cat\\`\""},