fix: Don't double backslashes in shellQuote

This commit is contained in:
dualfroz committed 2026-10-11 10:34:10 +02:00
1 parent 740f357900
commit 57b732b602
2 files changed
+5 -9

No files matched your search

+1 -7
View File
@@ -24,18 +24,12 @@ func shellQuote(s string) string {
inSingleQuotes := false
for _, b := range []byte(s) {
switch b {
case backslash:
if !inSingleQuotes {
result = append(result, singleQuote)
inSingleQuotes = true
}
result = append(result, backslash, backslash)
case singleQuote:
if inSingleQuotes {
result = append(result, singleQuote)
inSingleQuotes = false
}
result = append(result, '\\', singleQuote)
result = append(result, backslash, singleQuote)
default:
if !inSingleQuotes {
result = append(result, singleQuote)
+4 -2
View File
@@ -14,8 +14,10 @@ func TestShellQuote(t *testing.T) {
`'`: `\'`,
`''`: `\'\'`,
`'a'`: `\''a'\'`,
`\`: `'\\'`,
`\a`: `'\\a'`,
`\`: `'\'`,
`\'`: `'\'\'`,
`\a`: `'\a'`,
`\n`: `'\n'`,
`$a`: `'$a'`,
`a`: `a`,
`a/b`: `a/b`,