मैंने यह कोशिश की
./home/user/scripts/someScript
लेकिन यह काम नहीं करता है
ऐसी कोई फ़ाइल या डायरेक्टरी नहीं है
कोई विचार?
मैंने यह कोशिश की
./home/user/scripts/someScript
लेकिन यह काम नहीं करता है
ऐसी कोई फ़ाइल या डायरेक्टरी नहीं है
कोई विचार?
जवाबों:
आपके आदेश में अग्रणी बिंदु का अर्थ "वर्तमान निर्देशिका के सापेक्ष" है। यह निकालें और इसे "करने के लिए फ़ाइल पर गौर करेंगे someScript
निर्देशिका में /home/user/scripts
:
/home/user/scripts/someScript
यदि आपको "अनुमति अस्वीकृत" मिलती है, तो यह या तो है क्योंकि आपके पास फ़ाइल को अन्य उपयोगकर्ताओं की निर्देशिका में एक्सेस करने के लिए पर्याप्त अनुमति नहीं है या क्योंकि फ़ाइल निष्पादन योग्य नहीं है। इसे निष्पादन योग्य बनाने के लिए, चलाएं:
chmod +x /home/user/scripts/someScript
यदि आपकी स्क्रिप्ट को उसी फ़ोल्डर में संसाधनों तक पहुंचने की आवश्यकता है जिसे वह से चलाया जा रहा है, और आपके पास इसे निर्दिष्ट पथ के रूप में निर्दिष्ट है, तो आपकी स्क्रिप्ट टूट जाएगी।
मैं हमेशा cd $(dirname $0)
अपनी स्क्रिप्ट के प्रमुख में जोड़ता हूं, इसलिए स्क्रिप्ट वाला फ़ोल्डर रूट फ़ोल्डर होगा।
हटाए .
यदि आप chmod 755 <nameofscript>
इसे चलाने के लिए ट्रैप को निष्पादन योग्य बनाते हैं, तो आपको केवल स्क्रिप्ट पर पथ टाइप करना होगा।
जब आप ./script
इसका उपयोग करते हुए देखते हैं, तो यह शेल को बताता है कि स्क्रिप्ट उसी निर्देशिका पर स्थित है जिसे आप निष्पादित कर रहे हैं। पूर्ण पथ का उपयोग करने के लिए आप टाइप करें sh /home/user/scripts/someScript
।
sh /path/to/file
से अलग है /path/to/file
। sh
वह रन /bin/sh
जिसके लिए सहानुभूति है /bin/dash
।
sh ./somescript
कि जिन्हें 'श / पथ / से / लिपि / लिपि के रूप में' टाइप किया जा सकता है।