web-dev-qa-db-ja.com

指定されたパスでsh.exe(bash)を起動します

Windows環境で事前定義されたパスでgit-bash(sh.exe)を起動する必要があります。

Cmd.exeの場合、これは次のようなコマンドで実行できます。

cmd.exe /K "cd /d {PATH_GOES_HERE}"

Powershell.exeの場合、これは次のコマンドで実行できます。

powershell.exe -noexit -command "cd '{PATH_GOES_HERE}'"

しかし、私はgit-bash別名sh.exeでこれを同じように得ることができませんでした。私のようなものを試しました...

sh.exe --login -i -c "cd {PATH_GOES_HERE}"

...しかし、私はそれを機能させることができませんでした。

コマンドライン自体は、次のように入力することで機能します...

sh.exe --login -i -c "ls"

...ディレクトリのbash-colorized出力を取得します

enter image description here

4
Waescher

Michael Dからのヒントのおかげで、「Git Bash Here」機能を使用してGitをインストールしました。次に、次のレジストリを参照して、Gitが行う方法を調べました。

HKEY_CLASSES_ROOT\Directory\Shell\git_Shell\command

それは私に使用するコマンドを与えました:

C:\Program Files\Git\git-bash.exe "--cd=%1"

%1は、Windowsエクスプローラーによって提供されるパスを表します。

だから私がしなければならなかったすべては次のようなコマンドに行くことでした:

C:\Program Files\Git\git-bash.exe "--cd={PATH_GOES_HERE}"

ところで、Windowsのパスを/c/users/myuser/...のようなものに変換する必要はありません

つまり、今後はsh.exeではなくgit-bash.exeを使用します。

仲間に感謝します。

2
Waescher

bashは、開始時に.bashrcファイルを読み取っています。

  1. 開始sh.exe --login
  2. .bashrcと入力してecho "cd c/Windows/system32/" > ~/.bashrcファイルを作成します
  3. ログアウト(Ctrl + D)
  4. 開始sh.exe --login
  5. 入力pwdc/Windows/system32/である必要があります

AFAIKウィンドウは、UACで\Program Files\フォルダーを保護しています。 sh.exeを管理者として実行するか、代わりにgitをC:\gitにインストールすることを検討してください(プログラムファイルフォルダーの外)。

1
Michael D.