与用于CMD的Golang执行cd命令不同,我只想真正cd directory_location使用golang 运行并更改当前目录.
所以,例如,
说我在〜/ goproject,我跑,./main在终端,我想在终端的〜/ goproject2.
我试过了
cmd := exec.Command("bash", "-c", "cd", "~/goproject2")
cmd.Run()
Run Code Online (Sandbox Code Playgroud)
但这实际上并没有改变当前目录.
Swi*_*ftD 13
你还没有弄清楚为什么你要改变目录,没有上下文这很难回答.但通常如果您需要从特定目录运行命令,则可以将其指定为Command上的Dir属性,例如:
cmd := exec.Command("myCommand", "arg1", "arg2")
cmd.Dir = "/path/to/work/dir"
cmd.Run()
Run Code Online (Sandbox Code Playgroud)
如果这不是您的意思,请澄清.
Mil*_*sen 10
你想要的os.Chdir.此函数将更改应用程序工作目录.如果您需要更改shell工作目录,最好的办法是查找cd工作原理和工作原理.
正如您所发现的那样,您不能使用cd从应用程序内部更改当前目录,但os.Chdir不需要它可以工作:)
用法示例:
home, _ := os.UserHomeDir()
err := os.Chdir(filepath.Join(home, "goproject2"))
if err != nil {
panic(err)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10063 次 |
| 最近记录: |