我想在使用命令go build
而不是输入后运行Go的可执行文件go run filename.go
。
我输入go build
了Golang源文件所在的目录。创建可执行文件后,我键入./filename
要运行它。然后终端显示一行:
bash : ./filename : Permission denied
我试图通过键入以下命令来更改文件名的权限:
chmod u+x filename
但是此动作不会产生任何效果。每当我键入时,仍然会出现权限拒绝错误./filename
。
还有另一种方法可以从源代码构建Golang应用程序,然后从可执行文件运行它。
做得很好,如果我做这个任务在Windows所有的事情命令提示符下,键入之后go build
,将filename.exe
创建并没有当我通过键入运行它的任何问题./filename.exe
。
NTFS和FAT与Unix具有不同的权限模型。这尤其意味着在这样的文件系统上没有可执行标志。打电话chmod a+x FILE
是禁止操作的。Linux通过为每个包含潜在权限的文件设置掩码来模拟NTFS文件系统上的经典Unix权限。
要解决这些问题,请将可执行文件移至其他文件系统,或更改安装标志以使用启用了可执行标志(适用于所有文件)的权限掩码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句