![](/img/trans.png)
[英]How to use path of current conda environment's python as shebang for a script?
[英]Why does python script in current directory need ./ for execution with shebang?
在我當前的目錄中有帶有shebang #!/usr/bin/env python
的可執行腳本script.py。 要在bash中執行它,我需要輸入./script.py
。 從我對shebang的了解中,我希望script.py
能執行該腳本,就像python script.py
一樣,但事實並非如此。 后面兩個選項有什么區別?
在類似Un * x的系統上, .
出於安全原因不在路徑中,以避免執行可能位於用戶目錄中的ls
類的命令(最好以root身份利用此安全漏洞)
對於python腳本而言,這比諸如ls
之類的經典命令所關心的要少,但是帶有shebang的python腳本是可執行文件,因此請遵循一般的安全規則。
當您鍵入python myscript.py
您知道該腳本位於當前目錄中,並且python
從此處讀取該腳本,而不管系統路徑如何(它被視為data ,不是可執行文件 ,真正的可執行文件是python
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.