通常,
~外壳程序会 在 程序看到它 之前 将其展开。
调整程序与外壳扩展机制兼容的方式从命令行获取其参数的方式。
可能的问题之一是使用exec.Command像这样:
cmd := exec.Command("some-binary", someArg) // say 'someArg' is "~/foo"不会扩大。例如,您可以改为使用:
cmd := exec.Command("sh", "-c", fmt.Sprintf("'some-binary %q'", someArg))它将
~从外壳获得标准扩展。
编辑:修复了“ sh -c”示例。



