নিম্নলিখিতটি আমার পাইপ স্ক্রিপ্টের অংশ হিসাবে চালাতে চাই পাইথন ওয়ান-লাইনারটি নীচে
python -c "from xml.dom.minidom import parse;dom = parse('/path/to/pom.xml');print [n.firstChild.data for n in dom.childNodes[0].childNodes if n.firstChild and n.tagName == 'version']"
(pom.xML একটি উন্মুক্ত POM এক্সএমএল ফাইল)
আমি কমান্ডের ফলাফলটি ভেরিয়েবল এমভিএন_ভিয়ারকে নির্ধারিত করতে চাই
এটি আমার বেস স্ক্রিপ্ট:
WS="/path/to"
PY_GET_MVN_VERS="from xml.dom.minidom import parse;dom = parse(\'${WS}/pom.xml\')\;print [n.firstChild.data for n in dom.childNodes[0].childNodes if n.firstChild and n.tagName == \'version\']"
funcion test_mvn {
MVN_VER=`python -c \"${PY_GET_MVN_VERS}\"`
echo ${MVN_VERS}
}
test_mvn
তবে এটি চালাতে ব্যর্থ। যদি আমি স্ক্রিপ্টটি + এক্স বিকল্পের সাথে চালিত করি তবে এটি আমি দেখতে পাই:
++ python -c '"from' xml.dom.minidom import 'parse;dom' = 'parse(\'\''/path/to/pom.xml\'\'')\;print' '[n.firstChild.data' for n in 'dom.childNodes[0].childNodes' if n.firstChild and n.tagName == '\'\''version\'\'']"'
File "<string>", line 1
"from
আমি মনে করি পাইথন কোডটি এড়িয়ে যাওয়ার সাথে এর কিছু করার আছে। আমি কীভাবে এটিকে সঠিকভাবে পালাতে পারি?