从bash文件传递参数到python脚本

时间:2014-12-04 10:43:12

标签: python linux bash ubuntu-12.04

我有一个python应用程序,它在端口上启动一个websocket,它被指定为python应用程序的参数。 我通过windows中的批处理(.bat)文件成功传递了参数。 在Windows中,我传递的参数如下: python server.py -p 8000

现在我需要通过bash文件在ubuntu 12.04中实现相同的功能。我从bash文件启动python应用程序作为服务。 bash文件代码:

PYPATH="/usr/bin/python"
DEAMON="./server.py"

start-stop-daemon --start --background --name $DEAMONNAME --pidfile $PIDFILE --make-pidfile  --user $USER --group $USER --chuid $USER -d $WORKINGDIR --exec $PYPATH $DEAMON 

当我按原样运行时,这可以正常工作,但它需要默认端口。 我按如下方式传递参数:

DEAMON="./server.py -p 8004"

这给了我以下错误:

start-stop-daemon: invalid option -- 'y'
Try 'start-stop-daemon --help' for more information.
...fail!

请问任何人可以帮助我将参数从bash文件传递给python应用程序,以达到与windows相同的效果吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

start-stop-daemon之后将任何不直接用于--的参数移到命令的最后,以便它们通过:

PYPATH="/usr/bin/python"
DEAMON="./server.py -p 8004"

start-stop-daemon --start --background --name $DEAMONNAME --pidfile $PIDFILE --make-pidfile --user $USER --group $USER --chuid $USER -d $WORKINGDIR --exec $PYPATH -- $DEAMON