我想在linux中運行python腳本而不顯式調用python。 我的目標是讓$ myscript.py
運行我的腳本。目前呼籲$ python myscript.py
工程,但我希望不必輸入額外的命令易於使用。我將shebang行添加到腳本的第一行以獲得正確的python調用。我已經嘗試了以下兩行,但都沒有爲我工作。權限被拒絕在Linux中使用shebang行運行python腳本
#!/usr/bin/env python2.7
#!/usr/local/bin/python2.7
的問題是,我得到了以下行爲
$ python2.7 myscript.py # This will run
$ myscript.py # This is the error
$ ./myscript.py # This will also error
: Permission denied # Error message
當我在文件上做ls -ltr
我對腳本執行權限和可執行
-rwxrwxr-x 1 uname users 3544 Jul 7 08:46 myscript.py
-rwxr-xr-x 1 root root 6231413 Jul 7 00:57 /usr/local/bin/python2.7
我也可以在命令行中通過鍵入寫入到其中的shebang行中的內容來調用python。
/usr/bin/env python2.7
/usr/local/bin/python2.7
都在終端運行python。
我已經遇到了下面的stackoverflow問題,似乎沒有人回答爲什麼這個問題發生在我身上。
bash permission denied for python
Python script: problems with shebang line (unix)
試過'。/ myscript.py'? –
當你執行'ls -l/usr/local/bin/python2.7'時你會看到什麼? – Jack
「權限被拒絕」真的很奇怪。通常情況下'PATH'不包含'.',在這種情況下,shell會說出類似「未找到命令」的內容。你確定劇本的名字嗎?你的用戶名字面上是「uname」,還是僅僅是匿名?你正在運行哪個版本的Bash? – l0b0