2012-03-27 15 views
32

शैल स्क्रिप्ट की वर्तमान निर्देशिका क्या है? मैं यह वर्तमान निर्देशिका जिसमें से मैंने इसे बुलाया? या यह निर्देशिका जहां स्क्रिप्ट स्थित है?शैल स्क्रिप्ट वर्तमान निर्देशिका?

उत्तर

12

शैल स्क्रिप्ट की वर्तमान (प्रारंभिक) निर्देशिका वह निर्देशिका है जिसे आपने स्क्रिप्ट कहा है।

7

इसे चलाने पर pwd से आउटपुट की जांच करके आप इसे स्वयं कर सकते हैं। यह निर्देशिका मुद्रित करेगा आप वर्तमान में में हैं। लिपि नहीं

यदि आपकी स्क्रिप्ट निर्देशिका स्विच नहीं करती है, तो यह निर्देशिका को प्रिंट करेगा से।

66

जैसा कि पहले से ही उल्लेख किया गया है, स्थान जहां स्क्रिप्ट को बुलाया गया था। यदि आप स्क्रिप्ट संदर्भ रखना चाहते हैं तो यह स्थान स्थापित करें, यह काफी सरल है। नीचे एक स्निपेट है जो पीडब्ल्यूडी और स्थापित निर्देशिका

#!/bin/bash 
echo "Script executed from: ${PWD}" 

BASEDIR=$(dirname $0) 
echo "Script location: ${BASEDIR}" 
15

अधिकतर उत्तर आपको वर्तमान पथ प्राप्त करते हैं और संदर्भ संवेदनशील होते हैं। किसी भी निर्देशिका से अपनी स्क्रिप्ट चलाने के लिए, नीचे स्निपेट का उपयोग करें।

DIR="$(cd "$(dirname "$0")" && pwd)" 

एक subshell में निर्देशिका स्विच करने से, हम तो pwd फोन और संदर्भ की परवाह किए बिना स्क्रिप्ट का सही रास्ता मिल सकता है।

आप $DIR"$DIR/path/to/file"

के रूप में उपयोग कर सकते हैं
संबंधित मुद्दे