वर्तमान फ़ोल्डर में MSYS प्रारंभ करें


9

मेरे पास विंडोज पर MinGW / MSYS है, और यह पता नहीं लगा सकता कि मैं जिस फ़ोल्डर में काम कर रहा हूं, उसमें MSYS शेल कैसे शुरू किया जाए।

उदाहरण के लिए, Windows कंसोल में मैं फ़ोल्डर में काम कर रहा हूं c:\tempऔर अगर मैं MSYS ( msys.bat) कहता हूं तो यह मेरे घर के फ़ोल्डर का प्रतिनिधित्व करते हुए, कुछ निश्चित स्थान पर नई कंसोल विंडो खोलता है।

इस msys.batफ़ाइल को कैसे बदला जाए, ताकि MSYS शेल वर्तमान कार्य फ़ोल्डर में खुल जाए (या इसे शुरू करने के बाद इसे बदल दिया जाए)?


क्या आप अपने प्रश्न में उस बैच फ़ाइल की सामग्री को शामिल कर सकते हैं?
करण


1
जब तक मुझे कुछ याद नहीं होता, मुझे उस बैच फ़ाइल में कहीं भी एक पथ निर्धारित नहीं होता है। मेरा अनुमान है कि rxvt / bash उनके डिफॉल्ट फाइलों के अनुसार उनके डिफॉल्ट डायर में शुरू हो रहे हैं। आप किसी भी तरह उन्हें अपने वर्तमान डायर ( ) पास करने में सक्षम हो सकते हैं %cd%, लेकिन मुझे यकीन नहीं है।
करण

हां, मैं यही देख रहा हूं: जब कॉल बैश होता है, तो यह विंडोज के तहत वर्तमान कामकाजी फ़ोल्डर में बदलने का निर्देश देता है। Cygwin के पास ऐसा ही विकल्प है
zetah

जवाबों:


6

मुझे यकीन नहीं है कि आप किस msysgit का उपयोग कर रहे हैं, लेकिन मेरे लिए कॉल msys.batकरने से वर्तमान निर्देशिका नहीं बदलती है। यदि आप निर्देशिका को परिवर्तित होते हुए देखते हैं, तो कमांड के etc/profileलिए msysgit निर्देशिका में फ़ाइल की जाँच करें cd। जब यह फ़ाइल तब चालू हो जाती है जब एक लॉगिन शेल शुरू किया जाता है तो यह आपके लिए हमेशा अपने होम डायरेक्टरी में उतरने का कारण हो सकता है।


3
हां, उस फ़ाइल की अंतिम पंक्ति (... मेरे सिस्टम पर \ mingw \ msys \ 1.0 \ etc \ profile) है cd "$HOME"। यदि आप टिप्पणी करते हैं कि वर्तमान फ़ोल्डर में बैश शुरू हो जाएगा, तो cdहोम फ़ोल्डर में जाने के लिए टाइप करना आसान है ।
ब्रायन बर्न्स

4

के रूप में अन्य लोगों ने बताया है, msys.bat एक जारी करेगी cd "$HOME"से etc/profile। गृह परिवेश चर सेट करना .मुझे सही कार्य निर्देशिका के साथ एक मिंगव शेल प्रदान करता है।

set HOME=.
C:\MinGW\msys\1.0\msys.bat

1

आप bash फ़ाइल बना सकते हैं और msys2_shell.cmd पर तर्क पारित कर सकते हैं कहीं भी शुरू करने के लिए जिसे आप चाहते हैं।

msys2_shell.cmd -where "home/name/esp"


0

यदि आप इसे उस फ़ोल्डर में चलाना चाहते हैं जिसमें आप काम कर रहे हैं, और आप उस फ़ोल्डर में नियमित रूप से काम कर रहे हैं, तो आप .bash_profileअपने होम डायरेक्टरी के अंत में एक पंक्ति जोड़ सकते हैं ।

cd /c/temp

हर बार जब आप टर्मिनल में प्रवेश करेंगे तो यह कमांड चलाया जाएगा। आप एक फ़ाइल को विस्तृत और स्रोत प्राप्त कर सकते हैं यदि आपके पास कई कमांड हैं जिन्हें आप चलाना चाहते हैं, जैसे

. ~/etc/start_script . ~/etc/start_script2

यह विशेष रूप से उपयोगी है यदि आपके पास पहले से ही आपका .bashrc कॉन्फ़िगर है या वास्तव में वैकल्पिक होम पथ का उपयोग नहीं करना चाहता है।


0

यदि किसी कारण से संशोधन करना etc/profile( cd "$HOME"पहले उत्तर की तरह टिप्पणी करना ) अवांछनीय है, तो यह काम कर सकता है:

# in mingw:
%SystemDrive%\mingw\msys\1.0\bin\sh.exe --login -i -c "cd '%TEMP%'; $SHELL"
# msys in root:
%SystemDrive%\msys\bin\sh.exe --login -i -c "cd '%TEMP%'; $SHELL"

यह उदाहरण /tmpनिर्देशिका में msys खोल शुरू होगा ।

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