douyi4991 2014-02-06 11:35
浏览 242
已采纳

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 2014-02-06 13:50
    关注

    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).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?