是否允许在UNIX脚本文件的开始处使用Unicode字节顺序标记?

是否允许在UNIX脚本文件的开始处使用Unicode字节顺序标记?,第1张

概述是否允许在UNIX脚本文件的开始处使用Unicode字节顺序标记

A #! 在一个可执行文件的开始处告诉Unix / linux shell将该文件视为一个脚本,并且该脚本的解释器的path紧跟在#! 。

在#!之前的Unicode字节顺序标记出现在这样的脚本文件的开头是合法的#! ?

我明白脚本将被传递给的特定解释器需要理解字节顺序标记并正确处理它。 我的问题是#!是否#! 部分仍然被认为是在文件的开始?

当然,我可以出去testing一个特定 *** 作系统上的特定shell,但是我对这个合法性是否更为普遍的问题感兴趣。 如果有人可以链接或指向一个太棒了的文件!

使用awk删除字节顺序标记

BOM中由wordpress自动生成的PHP页面

PHP Streaming CSV总是添加UTF-8 BOM

查找目录中的所有.PHP文件与777权限

heroku不能加载语言文件

将评论转换为答案。

如果你在文件的开头放置一个BOM,内核将不会识别#! 家当。 此外,在BOM中没有意义。 如果文件是UTF-8,BOM是毫无意义的,而且我知道没有内核可以与UTF-16(或UTF-32)一起作为Unicode表示,而这些编码是与BOM相关的。 所以,总而言之 – 不要在Unix的文件开始处放置一个BOM; 它不会帮助,并可能会阻碍的事情。

BOM将为最终运行脚本的解释器带来好处。

如果脚本文件中的数据实际上是UTF-16(UTF-16LE或UTF-16BE),那么BOM可以在开始时出现,并且可以通知脚本解释器,但内核不会为您启动解释器; 你会有使用:

interpreter script.name

而不只是打字

script.name

(你也可能不得不处理脚本的路径位置)。 这很好,只要你认识到会发生什么。 如果你想运行script.name ,那么文件必须以#!开始#! 这排除了BOM作为替代的开始。

总结

以上是内存溢出为你收集整理的是否允许在UNIX脚本文件的开始处使用Unicode字节顺序标记?全部内容,希望文章能够帮你解决是否允许在UNIX脚本文件的开始处使用Unicode字节顺序标记?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1286099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存