मैंने कमांड लाइन तर्कों के आधार पर स्कैटर प्लॉट जेनरेट करने के लिए आईडीएल में एक प्रोग्राम लिखा है। मैं सफलतापूर्वक इस तरह टर्मिनल में सीधे कार्यक्रम कॉल कर सकते हैं:चर के साथ बैश से आईडीएल प्रोग्राम चलाना
idl -e "scatterplot_1_2d_file.pro" $infile $outfile $title $xtitle $ytitle $xmin $xmax $ymin $ymax $timescale
कहाँ $ * में टाइप कुछ स्ट्रिंग शाब्दिक का उल्लेख समस्या यह है, मैंने सोचा कि मैं सिर्फ टाइप करने के लिए है कि बहुत लाइन सक्षम होगा, डाल। अक्षरों के स्थान पर परिवर्तनीय नामों में, एक बैश स्क्रिप्ट में, और जब मैं ब्रेक पर हूं तो लाखों स्कैटर प्लॉट उत्पन्न करता हूं।
idl: -e option cannot be specified with batch files
तो मेरा अगला प्रयास एक आईडीएल बैच फ़ाइल है कि मैं तो चलाने चाहते हैं करने के लिए उन आदेशों लिखने का प्रयास किया गया था: दुर्भाग्य से, अगर मैं इसे इस तरह से करते हैं, मैं त्रुटि मिलती है।
कि प्रयास इस तरह दिखता है:
#!/bin/bash
indir=/path/to/indir/
outdir=/path/to/outdir/
files=`ls $indir`
batchfile=/path/to/tempbatchfile.pro
echo .r "/path/to/scatterplot_1_2d_file.pro" >> $batchfile
for file in $files
do
name=${file%\.*}
echo scatterplot_1_2d_file $indir$name.txt $outdir$name.jpg $name "Gauge Precipitation (mm)" "NMQ Precipitation (mm)" "*" "*" "*" "*" 2 >> $batchfile
done #done file
echo exit >> $batchfile
idl <<EOF
@/path/to/scatterplot_1_2d_file
EOF
rm $batchfile
मैं नहीं जानता कि यदि त्रुटियों स्क्रिप्ट उत्पन्न करता है कि प्रासंगिक हैं, तो मैं बस शुरुआत पोस्ट करेंगे और मैं बाकी बाद में पोस्ट करेंगे के थोक यदि आपको आवश्यकता:
[foo]$ bash script_thing.sh
IDL Version 6.3 (linux x86 m32). (c) 2006, Research Systems, Inc.
Installation number: 91418.
Licensed for personal use by XXXXXXXXX only.
All other use is strictly prohibited.
PRO scatterplot_1_2d_file
^
% Programs can't be compiled from single statement mode.
At: /path/to/scatterplot_1_2d_file.pro, Line 1
% Attempt to subscript ARGS with <INT ( 1)> is out of range.
% Execution halted at: $MAIN$
% Attempt to subscript ARGS with <INT ( 2)> is out of range.
% Execution halted at: $MAIN$
% Attempt to subscript ARGS with <INT ( 3)> is out of range.
% Execution halted at: $MAIN$
% Attempt to subscript ARGS with <INT ( 4)> is out of range.
% Execution halted at: $MAIN$
% Attempt to subscript ARGS with <INT ( 5)> is out of range.
% Execution halted at: $MAIN$
% Attempt to subscript ARGS with <INT ( 6)> is out of range.
% Execution halted at: $MAIN$
% Attempt to subscript ARGS with <INT ( 7)> is out of range.
% Execution halted at: $MAIN$
% Attempt to subscript ARGS with <INT ( 8)> is out of range.
% Execution halted at: $MAIN$
% Attempt to subscript ARGS with <INT ( 9)> is out of range.
% Execution halted at: $MAIN$
मैं अगर मैं सिर्फ कुछ है कि नहीं किया जा सकता करने के लिए कोशिश कर रहा हूँ पता नहीं है, लेकिन यह ऐसा नहीं लगता है। कोई सलाह?
आप होगा सब [हवाले से] (http ठीक करने के लिए: // mywiki। इससे पहले कि हम विशिष्ट सलाह दे सकें, wooledge.org/Quotes) त्रुटियों, और [फाइलनामों के हैंडलिंग] (http://mywiki.wooledge.org/ParsingLs) को सही करें। यदि आप उसके बाद फंस गए हैं, तो नई त्रुटि पोस्ट करें। – ormaaj