当我使用 Bash 脚本时,我总是使用vi
.
我正在调试一个理论上正确编写的脚本,我决定检查使用该file
命令创建的文件。这就是我所看到的。
myScript1 Bourne-Again shell script text executable, Unicode text, UTF-8 text
myScript2 ASCII text
myScript3 POSIX shell script text executable, ASCII text
myScript4 Unicode text, UTF-8 text
同一天创建的四个脚本怎么会有vi
不同的编码?
我正在调试的是ASCII text
如何将其更改为Bourne-Again shell script text executable, Unicode text, UTF-8 text
?
答案1
file
只是根据文件的内容猜测文件的类型。我们需要查看这些文件的一些内容。
猜测发生了什么:
这两种不同类型的脚本可能是由#!
文件开头的不同 shebang ( ) 行引起的。
ASCII 文本和 UTF-8 文本之间的区别可能只是其中是否包含多字节字符(字符代码 > 127)。文件必须猜测 UFT-8 和 ASCII 之间的差异,因为字节之间没有实际差异。
但如果未找到大于 127 的字符代码,则 ASCII 和 UTF-8 是相同的。