2012-02-01 48 views
0

包装脚本我有几个Python脚本,并且由于种种原因,我身边shell脚本包装:与报价参数

#!/bin/sh 
source env.sh 
python $0.py [email protected] 

这工作得很好,除非参数需要被引用。当然,在这种情况下,包装器会引用引号,并将未引用的版本提供给python脚本。所以,我的第一个问题是“我怎么才能不吃报价?”

但是,即使我反斜杠引号,它不起作用。我打印出完整的命令,我要呼吁:

source env.sh 
echo "python $0.py [email protected]" 
python $0.py [email protected] 

如果我把它以foo \“ABC”它输出 蟒蛇foo.py“ABC” 然而,当foo.py被调用,它仍GETS foo.py abc

如果我只是复制并粘贴输出,并运行它,它运行良好。

任何人都可以告诉我为什么实际的执行会失败的脚本,但成功的命令行吗?

谢谢。

回答