我有几个我写过的python模块.随便,我file在这个目录上使用过,我对所看到的内容感到非常惊讶.这是它认为文件的结果计数:
1 ASCII Java program text, with very long lines
1 a /bin/env python script text executable
1 a python script text executable
2 ASCII C++ program text
4 ASCII English text
18 ASCII Java program text
Run Code Online (Sandbox Code Playgroud)
真奇怪!知道发生了什么或为什么它似乎认为python模块经常是java文件?
我正在使用CentOS 5.2.
编辑问题更倾向于我的好奇心,为什么显然非java和非c ++程序文件被归类为这样.当然,我不希望file是完美的,但对正在做出的选择感到惊讶.我猜想它会放弃并说出文本文件,而不是做出非常不正确的推论.
我刚刚进行了一次测试,并且在每次识别错误的情况下都没有shebang线.
对于每个文件:
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
file 正确识别它.
查看该magic文件,另一个触发识别为Python文件的东西是第一行的三重引号.
$ echo '"""' | file -
/dev/stdin: python script text executable
$ echo '#!/usr/bin/python' | file -
/dev/stdin: python script text executable
$ echo '#!/usr/bin/env python' | file -
/dev/stdin: a python script text executable
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
750 次 |
| 最近记录: |