我正在通过 bash 包装器调用 python 脚本,但在处理包含引号空格的参数时遇到了麻烦。
我将python脚本的参数组装成一个bash变量,例如
opt="-c start.txt"
opt+="--self 'name Na'"
然后使用以下命令调用 python 脚本:
python test_args.py $opt
sys.argv
在 Python 中打印时,我得到
['test-args.py', '-c', 'start.txt', '--self', "'name", "Na'"]
而不是预期的
['test-args.py', '-c', 'start.txt', '--self', 'name Na']
我在调用脚本时尝试使用数组,例如
python test_args.py ${opt[@]}
但后来我得到
['test-args.py', "-c start.txt --self 'name Na'"]
还有其他想法吗?