为了账号安全,请及时绑定邮箱和手机立即绑定

转到 ~(波浪字符)目录路径

转到 ~(波浪字符)目录路径

Go
慕桂英546537 2023-03-21 15:40:23
我正在尝试在 golang 中执行一个命令,该命令转到 ~ 路径。就像在终端中运行一样ls ~。最终我想在位于 ~/TestDirectory 的特定目录中创建命令,例如 git pull、mkdir 等。这是我试过的:out, _ := exec.Command("ls", "~").Output()-> 输出为空,因此运行exec.Command("cd", "~")不会转到 ~ 目录。out, _ := exec.Command("ls", "../..").Output()-> 输出比我当前的目录高 2 个目录,但它不是这样做的方法,因为当前项目可能在任何地方另外,我尝试设置命令的当前目录,输出为零。cmd := exec.Command("cd") cmd.Dir = "~" cmd.Run()
查看完整描述

1 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

由您的 shell扩展~(扩展到您的$HOME,至少在 POSIX 系统上;阅读有关globbingglob(7)的信息)。你可以用os.Getenv("HOME")它来扩展

另外,我尝试设置命令的当前目录,输出为零。

每个进程都有自己的 工作目录。但是exec.Command正在运行一个进程,因此在您的情况下,只有该进程(不是您自己的进程)正在更改其工作目录。你想用来os.Chdir改变你自己进程的工作目录。


查看完整回答
反对 回复 2023-03-21
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号