为什么我们在使用 shebang 时需要使文件可执行?
Why do we need to make file executable when using shebang?
我是一个 unix 新手,正在探索 shebang line 的功能。
例如,假设我有一个要执行的程序 program.py。
一种执行方式是直接调用解释器命令:
python program.py
如果使用 shebang 行,我将包括:
#!/usr/bin/env python
在文件开头告诉系统使用什么解释器。
那么为什么我们在这种情况下需要通过调用来制作文件'executable':
chmod +x program.py
然后调用:
./program.py
执行它,
而不是直接调用:
program.py
要执行吗?
你在问两个不相关的问题。
我们使其可执行,以便 OS 读取 shebang 行。
我们在它前面加上“./”,这样 shell 可以找到它并告诉 OS 执行它,因为脚本不太可能位于 [=] 中列出的目录中10=].
我是一个 unix 新手,正在探索 shebang line 的功能。
例如,假设我有一个要执行的程序 program.py。
一种执行方式是直接调用解释器命令:
python program.py
如果使用 shebang 行,我将包括:
#!/usr/bin/env python
在文件开头告诉系统使用什么解释器。
那么为什么我们在这种情况下需要通过调用来制作文件'executable':
chmod +x program.py
然后调用:
./program.py
执行它,
而不是直接调用:
program.py
要执行吗?
你在问两个不相关的问题。
我们使其可执行,以便 OS 读取 shebang 行。
我们在它前面加上“./”,这样 shell 可以找到它并告诉 OS 执行它,因为脚本不太可能位于 [=] 中列出的目录中10=].