我是一名unix新手,正在探索shebang line的功能。
例如,假设我有一个程序program.py来执行。
执行的一种方法是直接调用解释器命令:
python program.py
如果使用shebang系列,我将包括:
#!/usr/bin/env python
在文件的开头告诉系统使用什么解释器。
那么为什么我们在这种情况下需要通过调用:
使文件'可执行'chmod +x program.py
然后致电:
./program.py
执行它,
而不是直接调用:
program.py
执行它?
答案 0 :(得分:2)
你问了两个不相关的问题。
我们让它可执行,以便操作系统读取shebang行。
我们在它前面添加“./”,以便shell可以找到它并告诉操作系统执行它,因为该脚本不太可能位于$PATH
中列出的目录中。