निर्देशिका बदलने के बिना सही पथ के साथ बैश शेल (साइबर) शुरू करें


13

मुझे काम करने वाली निर्देशिका को बदलने के बिना, साइबरविन पर्यावरण के बाहर से एक साइबरविन शैल स्क्रिप्ट चलाने की आवश्यकता है।

अगर मैं बस चलाता हूं \path\to\bash.exe -c command, तो सही तरीके से रास्ता तय नहीं किया जाता है और साइबर कार्यक्रमों को नहीं पाया जा सकता है।

यदि मैं --loginविकल्प का उपयोग करता हूं , bashतो सही तरीके से पथ सेट करता है, लेकिन मेरी होम निर्देशिका में भी परिवर्तन होता है।

वर्तमान कार्यशील डायरेक्टरी को रखने के लिए मुझे bash लॉन्च करने के लिए कौन से विकल्पों का उपयोग करना चाहिए, और साथ ही साथ साइबर निष्पादनों का भी पता लगाना चाहिए?


नमस्ते, StackOverflow में इसी तरह के सवाल पर चर्चा की जा रही थी: stackoverflow.com/questions/9637601/…
रोमन होके

@ रोमान: यह एसओ पर पूरी तरह से विषय होगा।
बेन वोइगट

जवाबों:


18

यह पता चला है कि साइबरविन /etc/profileनामक एक पर्यावरण चर के लिए डिफ़ॉल्ट चेक करता है CHERE_INVOKINGऔर यदि सेट किया जाता है तो निर्देशिका के परिवर्तन को रोकता है।

इसलिए

set CHERE_INVOKING=1
\path\to\bash.exe -l -c command

वांछित व्यवहार है।


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