ubuntu是否特意处理下载的文件?

有一个脚本只是在我的/ etc / hosts文件中添加额外的行来启用本地开发。 因为它非常有用,所以我决定把它放在一个要点上。

当我的一个朋友下载了shell脚本,更改了必要的权限并尝试运行它时,它失败了。

显示的错误是:

$ ./dev-mode

: 没有相应的文件和目录

即使脚本在我的计算机上运行完美文件。 / etc / hosts文件存在于我们的计算机中,权限和所有者是相同的。 每件事都绝对相似。

然后他制作了一个新文件,将脚本的内容复制到新文件中,并更改了必要的权限,然后就RAN了!

在我看来,两个文件之间没有任何可以想象的区别,但差异确实它们是不同的,但不突出显示任何行或任何字符……没有。 权限相同,等等。

ubuntu是否以不同的方式处理下载的文件,并阻止其运行?

绝对相同的文件,一个运行,另一个不运行

基本上,是的。 从Internet下载文件时,您将获取文件中的数据。

您没有得到的是应用于该文件的权限。 这是在您的本地文件系统上完成的。

要使文件在本地系统上可执行,请放入终端并运行

 chmod +x filename.sh 

这告诉您的文件系统将该特定文件视为可执行文件。

这是有充分理由的。 假设您要下载一个文件,该文件具有允许您计算机上的任何人运行它的权限。 这是一个明显的安全风险。