Ale*_*lex 8 python unix shebang
什么是线
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
在python脚本的第一行用于?
var*_*tec 23
在UNIX和Linux中,它告诉哪个二进制文件用作解释器(另请参见Wiki页面).例如,shell脚本由/bin/sh.解释.
#!/bin/sh
Run Code Online (Sandbox Code Playgroud)
现在使用python它有点棘手,因为你不能假设二进制文件的安装位置,也不想要使用它.这样的/usr/bin/env伎俩.它使用的是第一个python二进制文件$PATH.你可以检查一下执行情况which python
使用解释器行,您可以通过将脚本修改为可执行文件来运行脚本.然后运行它.因此以脚本开头
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
这两种方法是等价的:
$ python script.py
Run Code Online (Sandbox Code Playgroud)
并且(假设你早些时候已经完成chmod +x script.py)
$ ./script.py
Run Code Online (Sandbox Code Playgroud)
这对于创建系统范围的脚本很有用.
cp yourCmd.py /usr/local/bin/yourCmd
chmod a+rx /usr/local/bin/yourCmd
Run Code Online (Sandbox Code Playgroud)
然后你可以随时随地调用它
yourCmd
Run Code Online (Sandbox Code Playgroud)
正如安德里所说.在Windows中,从命令行启动时运行文件的可执行文件依赖于关联:
16:12:40.68 C:\>assoc .py
.py=Python.File
16:13:53.45 C:\>assoc Python.File
Python.File=Python File
16:14:01.70 C:\>ftype Python.File
Python.File="C:\Python30\python.exe" "%1" %*
Run Code Online (Sandbox Code Playgroud)
在Unix中,shell解释器通过打开文件并查看文件中是否有命令来进行推断.
| 归档时间: |
|
| 查看次数: |
7780 次 |
| 最近记录: |