go - Forking en Windows shell med ny miljøvariabel

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg kan gøre dette på Linux (bash) ved hjælp af:


os.Setenv("TESTKEY", "TestVal")
syscall.Exec(os.Getenv("SHELL"), []string{os.Getenv("SHELL")}, syscall.Environ())


Er det muligt at gøre noget lignende i powershell? Jeg har forsøgt forskellige alternativer, men de svigte alle, for eksempel:


syscall.Exec("PowerShell", []string{"-Command", "Set-Item", "-path", "env:TESTKEY", "-value", "TestVal"}, env) 

Bedste reference


tak @Adrian - følgende værker:


cmd := exec.Command("PowerShell")
cmd.Env = append(os.Environ(),"TESTKEY=TestVal")
cmd.Run()