करंट डायरेक्टरी पर स्क्रिप्ट चलाते समय आप "/।" को कैसे छोड़ देते हैं


10

इंटरनेट पर कुछ ट्यूटोरियल्स में वे वर्तमान निर्देशिका पर स्क्रिप्ट को बिना चला सकते हैं:

./script

आप इसे कैसे छोड़ देंगे? मैं CentOS 5.6 x64 का उपयोग कर रहा हूं। मैं इसे इस तरह से चलाना चाहता हूं

script


3
ध्यान दें कि यह लगभग हमेशा एक बुरा विचार है, खासकर रूट उपयोगकर्ता के लिए।
डेविड श्वार्ट्ज

1
पूरे उद्देश्य / कहानी के पीछे क्या है / वैसे भी?
पीट

मैं बस उत्सुक हूं कि इसे हमेशा करने की आवश्यकता क्यों है। /
ऐवन मोनसेलर

अंतिम टिप्पणी एक अलग प्रश्न हो सकता है IMHO - सामान्य रूप से चलने वाले कार्यक्रमों के बारे में समझना एक महत्वपूर्ण बात है!
rozcietrzewiacz

4
@ पेत (और ऐवान): लिनक्स / यूनिक्स में, शेल केवल प्रोग्राम चलाता है यदि यह उनके लिए पथ जानता है (चाहे आप निर्दिष्ट पथ का उपयोग करके, या पाथ चर खोज कर)। यह नहीं लगता है कि आप वर्तमान निर्देशिका को खोजना चाहते हैं जैसे कि विंडोज करता है। यह वही खोजता है जो आप इसे PATH चर के माध्यम से खोजने के लिए कहते हैं। '।' वर्तमान निर्देशिका का संदर्भ है। इसलिए जब आप './script.sh' टाइप करते हैं, तो आप इसे रास्ता बता रहे हैं।
कासियस

जवाबों:


26

कोई भी:

  1. वर्तमान कार्य निर्देशिका को अपने PATH में जोड़ें: PATH=${PATH}:.(इसे सुरक्षा जोखिम माना जाता है)
  2. अपनी पटकथा वाले पथ को पाथ-चर में शामिल करें (यह कोई सुरक्षा जोखिम नहीं है यदि उस निर्देशिका तक लेखन-पहुंच सीमित है)
  3. अपनी स्क्रिप्ट को उस उचित स्थान पर रखें जहाँ PATH पहले से ही इंगित करता हो (~ / bin, / usr / local / bin, ...)

अंतिम विकल्प संभवतः सबसे अच्छा है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.