コマンド プロンプトまたは PowerShell から開始して (どちらでもかまいません。もう一方の方法を理解できます)、MSYS2 シェルを呼び出してコマンドを実行するにはどうすればよいですか?
より具体的な問題
XY 問題を回避するためにこの情報を含めていますが、これは上記の (より一般的な) 質問への回答によって最もよく解決されると強く信じています。
特に、パート III のステップ 3 に記載されているパッケージを更新するためのシェル スクリプトを作成したいと考えています。だから私は次のようなものが必要です:
[invoke msys2 bash] -c "pacman -Sy --needed msys2-runtime"
bash 実行可能ファイルを直接呼び出しても機能しません。
C:\>C:\msys64\usr\bin\bash.exe -c "pacman -Sy --needed msys2-runtime"
/usr/bin/bash: pacman: command not found
環境の問題だと思います。MSYS2 の bin ディレクトリへのパスを含めるように変更PATH
しても、問題は解決しません。パッケージをインストールしようとすると、悪いことが起こります (nano は単なる例です):
C:\>bash -c "pacman -Sy --needed --noconfirm nano"
:: Synchronizing package databases...
mingw32 is up to date
mingw64 is up to date
msys is up to date
resolving dependencies...
looking for conflicting packages...
Packages (1) nano-2.3.6-2
Total Installed Size: 1.81 MiB
Net Upgrade Size: 0.17 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [########################################################] 100%
(1/1) checking package integrity [########################################################] 100%
(1/1) loading package files [########################################################] 100%
(1/1) checking for file conflicts [########################################################] 100%
(1/1) checking available disk space [########################################################] 100%
(1/1) upgrading nano [########################################################] 100%
error: command (/usr/bin/bash /usr/bin/bash -c . /tmp/alpm_shqjUE/.INSTALL; post_upgrade 2.3.6-2 2.3.2-1 ) failed to execute correctly
バッチ ファイル (C:\msys64\msys2_shell.bat) を呼び出そうとすると、新しいウィンドウで新しいシェルが開きます。失敗したのか成功したのかわかりません。
では、シェルを MSYS2 の通常の状態に戻すにはどうすればよいでしょうか?