2010-05-06 15 views
6

मैं एक इनपुट किए गए पासवर्ड में लेने के बाद एक मानक -task चल रहा एक चींटी स्क्रिप्ट है:चींटी के <exec> कार्य के लिए इनपुट पासिंग

<input message="Password:" addproperty="password"> 
<handler classname="org.apache.tools.ant.input.SecureInputHandler" /> 
</input> 

<exec executable="/bin/sh" input="${password}" failonerror="true"> 
    <arg line='-c "myScript.sh"' /> 
</exec> 

स्क्रिप्ट myScript.sh पासवर्ड के लिए उपयोगकर्ता को संकेत देता है, और, यह मेरी था समझ है कि चींटी प्रलेखन कि इनपुट माना जाता है रिले इनपुट से जो कुछ में <exec> कार्य निष्पादित हो रहा है, लेकिन इसके बजाय मैं

[exec] Failed to open /usr/local/foobar 

जिसमें स्टैक टी द्वारा पीछा किया जाता (पासवर्ड foobar में प्रवेश के लिए) प्राप्त मेरी स्क्रिप्ट से एक गलत पासवर्ड के बारे में शिकायत ... इसलिए जाहिर है कि मैंने दस्तावेज को गलत समझा है। क्या कोई जानता है कि चींटियों में बाहरी स्क्रिप्ट से संकेतित इनपुट को कैसे संभाला जाए?

उत्तर

5
input="${password}" 

यह फ़ाइल $ {password} से पढ़ने की कोशिश करेगा और सामग्री को आपकी स्क्रिप्ट में भेज देगा। उपयोग करने का प्रयास करें:

inputstring="${password}" 

इसके बजाए। यह फ़ाइल नाम

+0

जैसा व्यवहार करने के बजाए स्ट्रिंग को स्वयं भेज देगा, धन्यवाद, कम से कम प्राथमिक समस्या हल हो गई है! – mikek

+0

मुझे तत्व में '-c "/ your/command' 'का उपयोग करने के महत्व को हाइलाइट करने दें और तत्व" निष्पादन योग्य "विशेषता को"/bin/sh "पर सेट करें। –

संबंधित मुद्दे