2013-06-27 20 views
2

我試圖運行一個帶有幾個參數的python腳本,選項卡警告,分別優化 和詳細參數,-t,-O-v
#!/usr/bin/python -t -O -v
這是我在嘗試以這種方式運行時得到的錯誤,在 終端中./script.py。

Unknown option: - usage: /usr/bin/python [option] ... [-c cmd | -m mod | file | -] [arg] ... Try python -h' for more information.

腳本在shebang中最多有一個參數時運行良好。 在python shebang中傳遞多個參數是錯誤的嗎?
運行腳本爲 python -O -t -v script.py在終端工程。爲什麼python shebang不會超過三個參數?

我猜這是一個python問題,因爲我有一個perl腳本,它具有以下 shebang #!/usr/bin/perl -w -t並且它運行正常。

我想出了創建python_runner.sh腳本唯一的解決方法來調用 與三個參數Python解釋:

#!/bin/sh 
python -O -t -v $1 
+0

http://stackoverflow.com/questions/4303128/how-to-use-multiple-arguments-with-a-shebang-ie – ctn

+0

也許你可以試試#!/ usr/bin/python -tOv –

+0

你應該看看argparse – Achrome

回答

2

比方說,文件名爲test.py,用的家當開始:

#!/usr/bin/python -t -O -v 

然後調用./test.py將命令的等效

/usr/bin/python '-t -O -V' ./test.py 

將第一個空格之後的所有內容都視爲一個單獨的參數,這就是爲什麼您只能在shebang中提供一個參數的原因。幸運的是,你可以將短褲連鎖到-tOv

+3

這取決於系統,詳見[本答案](http://stackoverflow.com/a/4304187/827263)[[此問題]](http://stackoverflow.com/questions/4303128/how-to在@ ctn的評論中提到了使用多個參數與一個shebang-ie)。 –

相關問題