Read https://github.com/filebrowser/filebrowser/pull/575.
This commit is contained in:
Henrique Dias
2019-01-05 22:44:33 +00:00
committed by GitHub
parent 013ddf45c7
commit d309066def
121 changed files with 5410 additions and 4697 deletions

34
runner/parser.go Normal file
View File

@@ -0,0 +1,34 @@
package runner
import (
"os/exec"
"github.com/mholt/caddy"
"github.com/filebrowser/filebrowser/v2/settings"
)
// ParseCommand parses the command taking in account if the current
// instance uses a shell to run the commands or just calls the binary
// directyly.
func ParseCommand(s *settings.Settings, raw string) ([]string, error) {
command := []string{}
if len(s.Shell) == 0 {
cmd, args, err := caddy.SplitCommandAndArgs(raw)
if err != nil {
return nil, err
}
_, err = exec.LookPath(cmd)
if err != nil {
return nil, err
}
command = append(command, cmd)
command = append(command, args...)
} else {
command = append(s.Shell, raw)
}
return command, nil
}