Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: A Go package to execute shell commands in specified order (github.com/amalfra)
3 points by amalfra on Aug 20, 2017 | hide | past | favorite | 3 comments


Hi

Your software is broken by assuming a command can be split up into arguments by spaces, and also not letting the os package properly escape your arguments.

https://github.com/amalfra/oexec/blob/master/oexec.go#L48

Here's a command that would be impossible to execute with your software, notice how the last argument is a single argument:

    c := exec.Command(
        "/usr/bin/osascript",
        "-e",
        "say 5")
    output, err := c.CombinedOutput()


Thanks for pointing it out. Won't quoting the command in the package's function call itself work, for eg:

outs := oexec.Series("/usr/bin/osascript -e 'say 5'")

I think even when running command in shell prompt arguments with space are supposed to be escaped with quotes


Came by to mention the broken design...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: