Files
kandev/apps/backend/internal/agentctl/server/process/shell_unix.go
T
Carlos Florêncio cad2d783b3
release / build-web (push) Has been cancelled
release / build-bundles (aarch64-linux-gnu-gcc, arm64, linux, ubuntu-latest, linux-arm64) (push) Has been cancelled
release / build-bundles (amd64, darwin, macos-13, macos-x64) (push) Has been cancelled
release / build-bundles (amd64, linux, ubuntu-latest, linux-x64) (push) Has been cancelled
release / build-bundles (amd64, windows, windows-latest, windows-x64) (push) Has been cancelled
release / build-bundles (arm64, darwin, macos-14, macos-arm64) (push) Has been cancelled
feat: improve windows support (#225)
feat: windows support
2026-02-15 18:16:21 +00:00

26 lines
666 B
Go

//go:build !windows
package process
import "os"
// defaultShellCommand returns the command and args for starting an interactive login shell.
// On Unix, uses $SHELL (or /bin/sh) with the -l (login) flag.
func defaultShellCommand(preferredShell string) []string {
shell := preferredShell
if shell == "" {
shell = os.Getenv("SHELL")
}
if shell == "" {
shell = "/bin/sh"
}
return []string{shell, "-l"}
}
// shellExecArgs returns the program and arguments needed to execute a command
// string through the system shell.
// On Unix: sh -lc "command"
func shellExecArgs(command string) (prog string, args []string) {
return "sh", []string{"-lc", command}
}