समस्या यह जो कुछ कमांड लाइन के लिए सेट है कि स्क्रिप्ट, नहीं स्क्रिप्ट ही के स्थान आह्वान करने के लिए उपयोग किया गया है। इससे विंडोज बैच फ़ाइल में %~dp0
से प्राप्त स्क्रिप्ट युक्त निर्देशिका का पूरा पथ प्राप्त करना मुश्किल हो सकता है।निम्न स्क्रिप्ट
उदाहरण के लिए, पर विचार करें, dollar.sh
:
# ./dollar.sh
./dollar.sh
# /tmp/dollar.sh
/tmp/dollar.sh
तो पूरी तरह से योग्य निर्देशिका का नाम पाने के लिए:
#!/bin/bash
echo $0
आप इसे चलाने चाहते हैं, तो आप निम्न उत्पादन मिल जाएगा एक स्क्रिप्ट का मैं निम्नलिखित करता हूं:
cd `dirname $0`
SCRIPTDIR=`pwd`
cd -
यह निम्नानुसार कार्य करता है:
cd
स्क्रिप्ट की निर्देशिका में या तो कमांड लाइन से रिश्तेदार या पूर्ण पथ का उपयोग करके।
- इस निर्देशिका का पूर्ण पथ प्राप्त करता है और इसे
SCRIPTDIR
पर संग्रहीत करता है।
- "
cd -
" का उपयोग कर पिछली कार्य निर्देशिका में वापस जाता है।
स्रोत
2008-10-16 10:13:28
ऐसा लगता है जब पार्टी को डिजाइन इस सुविधा के लिए ... – n611x007