現在のフォルダーでMSYSを起動します


9

WindowsにMinGW / MSYSがあり、作業中のフォルダーでMSYSシェルを起動する方法がわかりません。

たとえば、Windowsコンソールではフォルダーc:\tempで作業していて、MSYS(msys.bat)を呼び出すと、ホームフォルダーを表す固定された場所に新しいコンソールウィンドウが開きます。

このmsys.batファイルを変更して、MSYSシェルが現在の作業フォルダーで開くようにする方法(または起動後に変更する方法)


質問にそのバッチファイルの内容を含めることができますか?
Karan


1
何かを見落とさない限り、そのバッチファイルのどこかにパスが設定されているのがわかりません。私の推測では、rxvt / bashは、設定ファイルに従ってデフォルトのディレクトリで起動しています。あなたは可能性があなたの現在のディレクトリを(渡すことができる%cd%何らかの形で彼らに)、私はよく分かりません。
Karan 2013年

うん、それは私が探しているものです:bashを呼び出すときに、Windowsで現在の作業フォルダーを変更するように指示します。Cygwinにも同様のオプションがあります
zetah 2013年

回答:


6

使用しているmsysgitのバージョンはわかりmsys.batませんが、呼び出しても現在のディレクトリは変更されません。変更されているディレクトリが表示される場合etc/profileは、msysgitディレクトリのファイルでcdコマンドを確認してください。このファイルはログインシェルの起動時に実行されるため、常にホームディレクトリに移動する原因になる可能性があります。


3
はい、そのファイルの最後の行(私のシステムでは... \ mingw \ msys \ 1.0 \ etc \ profile)はcd "$HOME"です。現在のフォルダーからbashが始まるとコメントするcdと、ホームフォルダーに移動するのは簡単です。
ブライアンバーンズ

4

他の人が指摘したように、msys.batはf​​romを発行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/profilecd "$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シェルを起動します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.