我对 bash / optparse 有一个奇怪的问题。定义字符串时,我需要将字符串传递给我的 python 脚本。
我使用以下代码:
./lol.py `if [ -n "$URL" ]; then echo -u \"$URL\"; fi`
这是python脚本:
def main():
parser = OptionParser()
parser.add_option("-u", dest="url")
opts, args = parser.parse_args()
print opts.url
当我测试我的 bash 表达式时,它似乎正在工作:
user@fomce02:~$ URL="http://lol.com/my project/"
user@fomce02:~$ echo `if [ -n "$URL" ]; then echo -u \"$URL\"; fi`
-u "http://lol.com/my project/"
但是,当我使用参数运行 python 脚本时
user@fomce02:~$ ./lol.py `if [ -n "$URL" ]; then echo -u "$URL"; fi`
http://lol.com/my
它在空格后截断部分字符串。
你能解释一下它为什么会发生以及如何让它发挥作用吗?