blob: 8aa419ea5f949b5a013b0b97f1b2494d039475ff (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
diff --git a/shells/bash.go b/shells/bash.go
index 673f4765..a58cc5e2 100644
--- a/shells/bash.go
+++ b/shells/bash.go
@@ -5,6 +5,7 @@ import (
"bytes"
"fmt"
"io"
+ "os/exec"
"path"
"runtime"
"strconv"
@@ -225,7 +226,11 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (script *commo
if info.User != "" {
script.Command = "su"
if runtime.GOOS == "linux" {
- script.Arguments = append(script.Arguments, "-s", "/bin/"+b.Shell)
+ shellPath, err := exec.LookPath(b.Shell)
+ if err != nil {
+ shellPath = "/bin/"+b.Shell
+ }
+ script.Arguments = append(script.Arguments, "-s", shellPath)
}
script.Arguments = append(script.Arguments, info.User)
script.Arguments = append(script.Arguments, "-c", shellCommand)
--
2.18.0
|