Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用ruby制作的文本文件被构建为可执行文件_Ruby - Fatal编程技术网

用ruby制作的文本文件被构建为可执行文件

用ruby制作的文本文件被构建为可执行文件,ruby,Ruby,我有一个构建脚本,我在其中创建一个文本报告文件,并向其中输出各种日志类型的内容。所有的数据都建立在一个外部硬盘上(根据“mount”)有文件格式“fuseblk”(我从来没有听说过) 建筑似乎一切正常,但我的报告文件被保存为可执行文件,linux将其解释为SOR文件。我希望它们只是常规文本文件,默认情况下可以在常规文本编辑器中打开 我正在制作文件,并将其写入,如下所示: @report = File.open(File.join(DESTINATION_BUILD_FOLDER, "#{tit

我有一个构建脚本,我在其中创建一个文本报告文件,并向其中输出各种日志类型的内容。所有的数据都建立在一个外部硬盘上(根据“mount”)有文件格式“fuseblk”(我从来没有听说过)

建筑似乎一切正常,但我的报告文件被保存为可执行文件,linux将其解释为SOR文件。我希望它们只是常规文本文件,默认情况下可以在常规文本编辑器中打开

我正在制作文件,并将其写入,如下所示:

@report = File.open(File.join(DESTINATION_BUILD_FOLDER,  "#{title.folder_name}_report.txt"),"w")      
...
s = "making modules folder inside resource_library folder";puts s; @report.puts s
...
@report.close
我以前做过很多次,从未遇到过这个问题。有什么想法吗

干杯,麦克斯


ps我知道我可以编辑保存的文件使其不可执行,我的问题是“为什么会发生这种情况?”。干杯:)

我认为你的节目没有任何问题。fuseblk只是意味着它是通过FUSE安装的,FUSE允许文件系统驱动程序作为用户空间程序而不是内核模块运行。文件系统很可能是NTFS或FAT32

这里的问题是Linux假设驱动器上的所有东西都设置了执行位。这是因为NTFS和FAT32都没有存储Linux权限位的能力(NTFS有一个非常不同的权限系统,FAT32几乎没有)。我敢打赌,您正在尝试双击gnome文件资源管理器中的日志文件,对吗


好的,使用命令行,使用较少的或您最喜欢的命令行编辑器来查看它们。或者在文件资源管理器中右键单击它们,或者使用文本编辑器中的file->open打开它们。如果你向更了解Gnome(或KDE?)的人提问,你可能会得到更好的答案。

我认为你的程序没有任何问题。fuseblk只是意味着它是通过FUSE安装的,FUSE允许文件系统驱动程序作为用户空间程序而不是内核模块运行。文件系统很可能是NTFS或FAT32

这里的问题是Linux假设驱动器上的所有东西都设置了执行位。这是因为NTFS和FAT32都没有存储Linux权限位的能力(NTFS有一个非常不同的权限系统,FAT32几乎没有)。我敢打赌,您正在尝试双击gnome文件资源管理器中的日志文件,对吗


好的,使用命令行,使用较少的或您最喜欢的命令行编辑器来查看它们。或者在文件资源管理器中右键单击它们,或者使用文本编辑器中的file->open打开它们。如果你向更了解Gnome(或KDE?)的人提问,你可能会得到更好的答案。

谢谢Truby-我可以按你的建议打开它们,但我不明白它们为什么是可执行的。但是,为什么linux会认为一切都是可执行的呢?当它不知道的时候,这只是“最安全”的默认位置吗?(由于缺少可执行位)谢谢,我没有答案。这正是在Linux上安装许多其他文件系统时的一贯做法。谢谢你的帮助-我可以按你的建议打开它们,但我不明白为什么它们是可执行的。但是,为什么linux会认为一切都是可执行的呢?当它不知道的时候,这只是“最安全”的默认位置吗?(由于缺少可执行位)谢谢,我没有答案。这正是在Linux上安装许多其他文件系统时的一贯做法。