我通過bash包裝器調用python腳本,但我在處理包含引號空格的參數時遇到問題。將參數從包含引號空格的shell變量傳遞給Python腳本
我組裝參數傳遞給python腳本到bash的變量,如
opt="-c start.txt"
opt+="--self 'name Na'"
然後調用python腳本的東西,如:
python test_args.py $opt
當在Python打印sys.argv
,我得到
['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'"]
任何其他的想法?
也許[this](http://stackoverflow.com/questions/9982573/pass-shell-escaped-string-of-arguments-to-a-subcommand-in-bourne-shell)將有助於(看看* eval *解決方案)。 – KBart