Go 转到~(tilde字符)目录路径
我正试图在golang中执行一个命令,该命令指向~path。 喜欢在终端中运行Go 转到~(tilde字符)目录路径,go,Go,我正试图在golang中执行一个命令,该命令指向~path。 喜欢在终端中运行ls~ 最后,我想在特定的目录中创建命令,该目录位于~/TestDirectory,例如gitpull、mkdir等 以下是我尝试过的: out,:=exec.Command(“ls”、“~”).Output()->输出为空,因此运行exec.Command(“cd”、“~”)不会转到~目录 out,:=exec.Command(“ls”,“./”).Output()->Output是我当前项目上方的两个目录,但这不是
ls~
最后,我想在特定的目录中创建命令,该目录位于~/TestDirectory,例如gitpull、mkdir等
以下是我尝试过的:
out,:=exec.Command(“ls”、“~”).Output()
->输出为空,因此运行exec.Command(“cd”、“~”)
不会转到~目录out,:=exec.Command(“ls”,“./”).Output()
->Output是我当前项目上方的两个目录,但这不是执行此操作的方法,因为当前项目可能在任何地方cmd := exec.Command("cd")
cmd.Dir = "~"
cmd.Run()
~
由shell扩展(扩展到您的$HOME
,至少在POSIX系统上是这样;请阅读和)。你可以用它来扩张
此外,我还尝试设置命令的当前目录,输出为nil
每个人都有自己的想法。但是
exec.Command
正在运行一个新进程,因此在您的情况下,只有该进程(而不是您自己的进程)正在更改其工作目录。您希望使用更改自己进程的工作目录。~
由shell解释,而不是由操作系统解释。通过shell执行命令或在应用程序代码中展开~
。如果您可以使用$HOME而不是~
,则可能会有所帮助。