मैं इस तरह एक फ़ाइल, someFile
है,:मैं पर्ल एक-लाइनर के लिए तर्क कैसे सर्वोत्तम तरीके से पास करूं?
$cat a.sh
#!/usr/bin/ksh
for d in 1 2
do
grep -q "hdisk$d" someFile && echo "$d : ok"
done
मैं इसे पर्ल में बदलने की कोशिश कर रहा हूँ:
$cat b.sh
#!/usr/bin/ksh
export d
for d in 1 2
do
cat someFile | perl -lane 'BEGIN{$d=$ENV{'d'};} print "$d: OK" if /hdisk$d\s+/'
done
$cat someFile
hdisk1 active
hdisk2 active
मैं जाँच करने के लिए इस खोल स्क्रिप्ट का उपयोग मैं शैल स्क्रिप्ट में परिवर्तनीय d
निर्यात करता हूं और पर्ल में %ENV
का उपयोग करके मान प्राप्त करता हूं। क्या इस मूल्य को पर्ल वन-लाइनर में पास करने का एक बेहतर तरीका है?
क्यों प्रदर्शन नहीं पर्ल में सीधे पाशन? तब आपकी खोल स्क्रिप्ट बस गायब हो जाती है। – FMc
'बिल्ली फ़ाइल का उपयोग करने के बजाय | perl ... '' perl ... file' का उपयोग करना अधिक आसान है। – TrueY