通过包装器shell脚本将包含空格的参数传递给python脚本

时间:2013-03-27 14:38:26

标签: python bash

我有一个包装器脚本 command.sh 作为我的python应用程序的主要启动脚本,主要用于设置一些环境变量,如PYTHONPATH

#!/bin/bash

export PYTHONPATH=lib64/python/side-packages
./command.py $*

command.py 如下所示:

#!/usr/bin/python

import sys
print sys.argv

调用包装器脚本,如

$ ./command.sh a "b c"

结果为['./command.py', 'a', 'b', 'c'],我需要['./command.py', 'a', 'b c']

如何将包含空格的参数传递给python脚本?

1 个答案:

答案 0 :(得分:3)

使用$@代替$*,并引用"

#!/bin/bash

export PYTHONPATH=lib64/python/side-packages
./command.py "$@"

有关详细信息,请参阅bash(1),“特殊参数”部分。