douyi4991
douyi4991
2014-02-06 11:35

Ubuntu 13.10,Golang构建并运行,终端显示错误bash:./filename:权限被拒绝

已采纳

I am trying to run Go's executable file after using command go build instead of typing go run filename.go.

I typed go build in the directory where the Golang source file resides. After the executable file had been created, I typed ./filename to run it. Then the terminal displayed a line :

bash : ./filename : Permission denied 

I had tried to change the permission of the filename by typing :

chmod u+x filename 

But this action doesn't give any effects. The permission denied error still occurs whenever I type ./filename.

Is there another way to build a Golang applications from source code, and then run it from executable file?

All things done well if I do this task in Windows command prompt, after typing go build, the filename.exe is created and there is no any problem when I run it by typing ./filename.exe.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • ds42774 ds42774 7年前

    NTFS and FAT have different permission models than Unix. This especially means that there is no executable flag on such a file system. Calling chmod a+x FILE is a no-op. Linux emulates classical Unix permissions on NTFS file systems by setting a mask for each file that contains the would-be permissions.

    To fix these problemss, either move executables to a different file system or change the mount flags to use a permission mask that enables the executable-flag (for all files).

    点赞 评论 复制链接分享