2012-01-25 18 views
5

में पर्ल निर्दिष्ट किए बिना कमांड लाइन में perl निष्पादित करें विंडोज के बारे में एक समान सवाल है, लेकिन यह यूनिक्स आधारित कंप्यूटर (ओएस एक्स विशेष रूप से) के लिए काम नहीं करेगा।यूनिक्स

मैं फ़ाइल का नाम टाइप करना चाहता हूं, example.pl या example.pl parametertext.txt कहें, और इसे perl निष्पादित करने के बारे में पता है।

मैंने फ़ाइल में #!/usr/bin/perl निर्दिष्ट किया है ताकि यह निष्पादन योग्य हो सके। इसके बजाय, मैं संदेश मिलता है:

bash: example.pl: command not found 
+5

क्या यह '#!/Usr/bin/perl' होना चाहिए? बिना रिक्त स्थान के (सुनिश्चित नहीं है कि क्या मायने रखता है) और एक पूर्ण पथ? साथ ही, आपकी .pl फ़ाइल निष्पादन योग्य है? ('chmod + x example.pl' आज़माएं)। उल्लेख नहीं है कि ''' आपके 'पथ' में नहीं है, तो आपको' example.pl' की बजाय '।/Example.pl' चलाने की आवश्यकता है। –

+1

क्या आपने फ़ाइल निष्पादन योग्य भी सेट की है? "काम नहीं कर रहा" मतलब क्या है, क्या आप त्रुटि संदेश दे सकते हैं? –

+0

@DanFego हां, मुझे लगता है कि स्वत: सुधार ने इसे खत्म कर दिया लेकिन मैं/ – Chris

उत्तर

11

आप इसे इस तरह से कर सकते हैं,

  1. दुभाषिया/निष्पादकों पथ का पता लगाएं। इस मामले में इसकी /usr/bin/perl या /usr/bin/env perl
  2. इसे #!/usr/bin/perl के रूप में फ़ाइल की पहली पंक्ति में जोड़ें।
  3. दें फ़ाइल chmod +x example.pl

अब की अनुमति पर अमल यह

$ ./example.pl 
2

आप शीर्ष पंक्ति ("मामला") #!/usr/bin/perl (स्लेश ध्यान दें कि आप एक जगह है जहां) बनाने की जरूरत है। फिर, सबसे पहले आपको यह सुनिश्चित करने की ज़रूरत है कि वास्तव में आपके perl निष्पादन योग्य (सही which perl टाइप करें) यह देखने के लिए कि यह कहां है)। यदि यह कहीं और है, तो पथ को सही तरीके से सही करें। फिर आपको यह सुनिश्चित करने की ज़रूरत है कि स्क्रिप्ट में निष्पादन अनुमति सेट है। ls -l example.pl टाइप करें, और पहले कॉलम में x देखें (विशेष रूप से चौथा वर्ण)। यदि यह वहां नहीं है, तो आपको chmod a+x example.pl के साथ स्क्रिप्ट निष्पादन योग्य बनाने की आवश्यकता है। अंत में, प्रोग्राम चलाने के लिए, आपको ./example.pl का उपयोग करने की आवश्यकता है। ./ आपके खोल को बताता है कि आप अपनी वर्तमान निर्देशिका में स्क्रिप्ट चाहते हैं।

1

चलेंगे मैं दो विचारों जोड़ने के लिए:

1) example.pl test1.txt अपने पथ का उपयोग करने के एक बिंदु होना चाहिए। $ PATH /usr/bin:/usr/X11R6/bin:/usr/bin/X11: echo echo।

2) आपकी फ़ाइल का अंत यूनिक्स होना चाहिए, \ n। कम से कम आपकी शेबांग लाइन में आपके पर्ल पथ को उत्कृष्टता से शामिल किया गया है, जो \ n के साथ समाप्त हुआ है।