LoginSignup
0
0

More than 5 years have passed since last update.

MSYS2 Shell を起動すると cmd.exe も立ち上がってしまう

Posted at

状況

  1. MSYS2 をインストーラからインストール
  2. スタートメニューから MSYS2 Shell を起動すると、cmd.exeが一瞬起動し、終了した後。msys_shell.batが起動する
  3. pacman -Syuu などでパッケージをアップデート
  4. スタートメニューから MSYS2 Shell を起動すると、cmd.exeが終了しない

環境

  • Windows7
  • インストーラ
    • msys2-x86_64-20160205.exe

原因

スタートメニューに登録されている MSYS2 Shell のリンクは以下になっています。

C:\Windows\System32\cmd.exe /A /Q /K C:\msys64\msys2_shell.bat

cmd.exe の各オプションの意味は以下の通りです。

オプション 意味
/A 出力をANSIで
/Q エコーがOFFの状態でプロンプトを起動
/K <command> で指定した内容を実行。引き続きcmd.exeを表示
/C <command> で指定した内容を実行。cmd.exeは終了

解決策

そのため以下のように/Kオプションではなく/Cオプションを指定してやるとcmd.exeは終了します。

C:\Windows\System32\cmd.exe /A /Q /C C:\msys64\msys2_shell.bat

未解決の謎

  • なぜ msys2_shell.bat ではなくこのようなショートカットがスタートメニューに登録されているのか?
  • なぜ pacman でパッケージをアップデートする前は /K オプションにもかかわらず cmd.exe が終了していたのか?

既に試したこと

$ pacman -V の結果が 4.2.1.6187 だった場合、pacman -Syuu ではなく update-corepacman -Suu の実行の組み合わせでアップデートするべきだった1みたいなのですが、やり直してみたところそれが原因ではないようでした

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0