在Unix上,有没有办法让一个进程可以改变另一个进程的环境变量(假设它们都是由同一个用户运行)?一般的解决方案是最好的,但如果没有,那么一个人是另一个人的孩子的具体情况怎么样?
编辑:通过gdb怎么样?
你可以帮助我,如何在visual studio代码中设置环境变量?
我$PATH在我的~/.bash_profile(在Mac上)定义了一个自定义环境变量,如下所示:
PATH="$HOME/.cargo/bin:$PATH:$HOME/bin"
Run Code Online (Sandbox Code Playgroud)
但是,VS Code当然不运行我的.bash_profile,所以它没有我的自定义路径.事实上,如果我切换开发人员工具并检查process.env.PATH,它似乎甚至没有/usr/local/bin.
如何$PATH在VS Code中全局设置环境变量?
(我想在全局设置它,而不是每个项目或每个任务,因为我维护了很多小包.)
我如何重写下面的代码,以便在每次CsvVersion调用 func时使用 var并为我提供最新值?
package main
import (
"fmt"
"os"
)
var (
DefaultValMap = map[string]string{
"CSV_VERSION": "v1",
}
CsvVersion = GetEnvOrDefault("CSV_VERSION")
)
func GetEnvOrDefault(env string) string {
if val := os.Getenv(env); val != "" {
return val
}
return DefaultValMap[env]
}
func main() {
fmt.Println(CsvVersion)
os.Setenv("CSV_VERSION", "v2")
fmt.Println(CsvVersion)
fmt.Println(os.Getenv("CSV_VERSION"))
}
Run Code Online (Sandbox Code Playgroud)
实际产量
$ go build 1.go && ./1
v1
v1
v2
Run Code Online (Sandbox Code Playgroud)
输出应该是这样的
$ go build 1.go && ./1
v1
v2
v2
Run Code Online (Sandbox Code Playgroud)