我在几种脚本语言中注意到了这一点,但在本例中,我使用的是python。在许多教程中,它们都是从#!/usr/bin/python3
在第一条线上。我不明白为什么我们有这个。
如果有的话,我可以看到这破坏了python脚本,因为上面列出了一些原因。
发布于 2018-03-14 13:02:44
Shebang行定义了解释器的位置。在这种情况下,python3
翻译在/usr/bin/python3
...。可能是bash
,,,ruby
,,,perl
或者任何其他脚本语言的解释器。如果您在脚本上设置了执行标志,并像这样运行它,操作系统就不知道它是python脚本./script.py
,除非你像python3 script.py
或者设定一条线。
你可以用/usr/bin/env python3
如果在不同的位置安装了语言解释器,就可以跨不同的系统进行移植。
发布于 2018-03-14 14:26:17
如果从shell运行脚本,它将检查第一行,以确定应该启动哪个程序来解释脚本。
非基于Unix的操作系统将使用自己的规则来计算如何运行脚本。例如,Windows将使用文件扩展名和#
将导致第一行被视为注释。
如果Python可执行文件的路径是错误的,那么脚本自然会失败。很容易从标准约定指定的任何位置创建到实际可执行文件的链接。
https://stackoverflow.com/questions/-100003613
复制相似问题