经常在 Python 文件的顶部看到了这些:
#!/usr/bin/env python
Code language: JavaScript (javascript)
或者
#!/usr/bin/env python3
Code language: JavaScript (javascript)
那么这个声明主要的作用是啥呢
上面的声明就是所谓的shebang, shebang(也称为 hashbang、hashpling、pound bang 或 crunchbang)指的是字符“#!” 它们是解释器指令中的前两个字符时,作为文本文件的第一行。
在类 Unix 操作系统中,程序加载器将这两个字符的存在作为文件是脚本的指示,并尝试使用文件中第一行其余部分指定的解释器执行该脚本。
如果安装了多个版本的 Python,/usr/bin/env
将确保使用的解释器是您环境的$PATH
. 另一种方法是硬编码#!/usr/bin/python
; 不太灵活。
为了运行python脚本,我们需要告诉shell三件事:
- 该文件是一个脚本
- 我们要执行脚本的解释器
- 所述解释器的路径
这就是shebang 行的作用