我是一個unix新手,並探索shebang行的功能。爲什麼我們需要在使用shebang時使文件可執行?
例如,假設我有一個程序program.py來執行。
一種執行方式是直接調用解釋器命令:
python program.py
如果使用shebang行,我將包括:
#!/usr/bin/env python
在文件的開頭,告訴系統什麼口譯員使用。
那麼爲什麼我們在這種情況下,需要通過調用來使文件 '可執行文件':
chmod +x program.py
,然後調用:
./program.py
來執行它,
代替直接電話:
program.py
來執行它?
'chmod + x program.py'的原因是安全性。如果我們已經採取額外步驟來設置可執行位,操作系統將只會直接執行一個文件。 – John1024