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: windows support
26 lines
666 B
Go
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}
|
|
}
|