เริ่ม MSYS ในโฟลเดอร์ปัจจุบัน


9

ฉันมี MinGW / MSYS บน Windows และไม่สามารถคิดวิธีการเริ่มเชลล์ MSYS ในโฟลเดอร์ที่ฉันทำงาน

ตัวอย่างเช่นในคอนโซลของ Windows ฉันกำลังทำงานในโฟลเดอร์c:\tempและถ้าฉันเรียก MSYS ( msys.bat) มันจะเปิดหน้าต่างคอนโซลใหม่ในบางตำแหน่งคงที่แทนโฟลเดอร์บ้านของฉัน

วิธีการเปลี่ยนmsys.batไฟล์นี้เพื่อให้เปลือก MSYS เปิดในโฟลเดอร์การทำงานปัจจุบัน (หรือเปลี่ยนหลังจากเริ่ม)?


คุณสามารถรวมเนื้อหาของไฟล์แบทช์นั้นไว้ในคำถามของคุณได้หรือไม่?
Karan


1
หากฉันไม่ได้รับสิ่งใดฉันจะไม่เห็นเส้นทางที่ถูกตั้งค่าไว้ในไฟล์แบทช์นั้น ฉันเดาว่า rxvt / bash กำลังเริ่มต้นใน dirs เริ่มต้นของพวกเขาตามไฟล์ config ของพวกเขา คุณอาจจะสามารถส่งผ่าน dir ปัจจุบันของคุณ%cd%ไปยังพวกเขา แต่ฉันไม่แน่ใจ
Karan

ใช่นั่นคือสิ่งที่ฉันกำลังมองหา: เมื่อโทรทุบตีสั่งให้มันเปลี่ยนในโฟลเดอร์การทำงานปัจจุบันภายใต้ Windows Cygwin มีตัวเลือกที่คล้ายกัน
zetah

คำตอบ:


6

ฉันไม่แน่ใจว่าคุณใช้ msysgit เวอร์ชันใด แต่สำหรับฉันที่โทรมาmsys.batจะไม่เปลี่ยนไดเรกทอรีปัจจุบัน หากคุณเห็นไดเรกทอรีที่กำลังเปลี่ยนแปลงให้ตรวจสอบคำสั่งetc/profileในไฟล์ในไดเรกทอรี msysgit cdเมื่อไฟล์นี้ถูกเรียกใช้งานเมื่อเริ่มต้นเชลล์การเข้าสู่ระบบอาจเป็นสาเหตุให้คุณลงจอดในโฮมไดเร็กตอรี่ของคุณเสมอ


3
ใช่บรรทัดสุดท้ายในแฟ้มที่ ( ... \ MinGW \ MSYS \ 1.0 \ etc \ รายละเอียดในระบบของฉัน) cd "$HOME"เป็น หากคุณแสดงความคิดเห็นว่า bash out จะเริ่มขึ้นในโฟลเดอร์ปัจจุบันคุณสามารถพิมพ์cdเพื่อไปที่โฮมโฟลเดอร์ได้อย่างง่ายดาย
Brian Burns

4

ขณะที่คนอื่น ๆ ได้ออกมาชี้ msys.bat จะออกจากcd "$HOME" etc/profileการตั้งค่าตัวแปรสภาวะแวดล้อม HOME เพื่อ.ให้เชลล์ mingw กับไดเร็กทอรีการทำงานที่ถูกต้องให้ฉัน

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 ไว้แล้วหรือไม่ต้องการใช้เส้นทาง HOME เป็นทางเลือก


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"

ตัวอย่างนี้จะเริ่มเชลล์ msys ใน/tmpไดเรกทอรี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.