EDIT: Di bawah ini berlaku untuk versi MSYS2 sebelumnya. Pada 2020-01-21, tidak diperlukan lagi. Jawaban FeRD tampaknya bekerja paling baik.
Saya ingin menggunakan ikan, bukan bash. Sayangnya sebagian besar metode di sini tidak berhasil, mungkin karena sintaksis ikan sangat berbeda.
Apa yang paling berhasil adalah ide wzhd tentang berlari exec fish
sebagai hal pertama ketika bash dimulai. Namun masih ada masalah: Jika saya ingin menggunakan bash, saya harus mengedit .bashrc
untuk menghapus baris itu karena meskipun saya menjalankannya dari ikan, itu hanya akan memulai contoh ikan lain.
Hal terbaik untuk dilakukan adalah memastikan bahwa exec fish
berjalan ketika msys2 dimulai, tetapi tidak setiap kali bash dimulai.
Cara saya temukan adalah melalui file msys2_shell.cmd
di folder instalasi msys2. Saya menemukan baris-baris ini:
set SHELL_ARGS=
:collectparams
if not "x%~1" == "x" set SHELL_ARGS=%SHELL_ARGS% %1& shift& goto :collectparams
Tampaknya mereka mendefinisikan parameter untuk diteruskan ke bash segera setelah dimulai, tetapi hanya ketika skrip ini berjalan (tidak seperti .bashrc
). Jadi saya menambahkan baris ini tepat setelah:
set SHELL_ARGS=%SHELL_ARGS% -c "exec fish"
Segalanya tampak baik-baik saja sejauh ini. Memulai msys2 menggantikan bash dengan ikan segera setelah yang pertama selesai memuat, tetapi jika saya memerlukan baris perintah bash saya masih bisa memulainya dengan bash
.