diff --git a/main.go b/main.go index a56d2932..0dfec2d5 100644 --- a/main.go +++ b/main.go @@ -3,7 +3,6 @@ package main import ( "fmt" "os" - "strings" "github.com/evilsocket/bettercap-ng/core" "github.com/evilsocket/bettercap-ng/log" @@ -50,12 +49,9 @@ func main() { } } - if *sess.Options.Commands != "" { - for _, cmd := range strings.Split(*sess.Options.Commands, ";") { - cmd = strings.Trim(cmd, "\r\n\t ") - if err = sess.Run(cmd); err != nil { - log.Fatal("%s", err) - } + for _, cmd := range session.ParseCommands(*sess.Options.Commands) { + if err = sess.Run(cmd); err != nil { + log.Fatal("%s", err) } } @@ -69,8 +65,7 @@ func main() { continue } - for _, cmd := range strings.Split(line, ";") { - cmd = strings.Trim(cmd, "\r\n\t ") + for _, cmd := range session.ParseCommands(line) { if err = sess.Run(cmd); err != nil { log.Error("%s", err) } diff --git a/session/session.go b/session/session.go index 56ba931a..cc33b633 100644 --- a/session/session.go +++ b/session/session.go @@ -46,6 +46,17 @@ type Session struct { Events *EventPool `json:"-"` } +func ParseCommands(buffer string) []string { + cmds := make([]string, 0) + for _, cmd := range strings.Split(buffer, ";") { + cmd = strings.Trim(cmd, "\r\n\t ") + if cmd != "" { + cmds = append(cmds, cmd) + } + } + return cmds +} + func New() (*Session, error) { var err error