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

查找可执行文件的路径

查找可执行文件的路径

Go
守候你守候我 2021-05-09 16:17:08
我使用Go在各种平台上编译了一个程序,并通过调用相对路径或仅通过其名称(如果它在PATH变量中)来运行它。是否可以找出可执行文件在哪里?说,我的程序称为“ foo(.exe)”。我可以运行./foo,foo(如果它在PATH中)../../subdir/subdir/foo。我尝试使用os.Args[0],我想我应该检查程序名称是否包含除“ foo”之外的其他内容。如果是,请使用filepath.Abs,如果否,请使用(我找不到函数名,有一个通过PATH查找以检查程序在哪里的函数)。
查看完整描述

3 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

您可以os.Executable用于在Go 1.8或更高版本上获取可执行文件路径。


import (

    "os"

    "path"

    "log"

)


func main() {

    ex, err := os.Executable()

    if err != nil { log.Fatal(err) }

    dir := path.Dir(ex)

    log.Print(dir)

}


查看完整回答
反对 回复 2021-05-17
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

这不是特定于Go的(除非go“标准库”包含执行此操作的功能),并且没有可移植的解决方案。有关某些常见平台上的解决方案,请参见例如如何在C中找到可执行文件的位置? 或在没有/ proc / self / exe的情况下查找当前可执行文件的路径


查看完整回答
反对 回复 2021-05-17
  • 3 回答
  • 0 关注
  • 246 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信