Tôi muốn sử dụng cá thay vì bash. Thật không may, hầu hết các phương pháp ở đây không hoạt động, có thể là do cú pháp của cá quá khác nhau.
Điều làm việc tốt nhất là ý tưởng của wzhd về việc chạy exec fish
như là điều đầu tiên khi bash bắt đầu. Tuy nhiên, vẫn còn một vấn đề: Nếu tôi muốn sử dụng bash, tôi phải chỉnh sửa .bashrc
để xóa dòng đó vì ngay cả khi tôi chạy nó từ cá, nó sẽ chỉ bắt đầu một cá thể khác.
Điều tốt nhất để làm là đảm bảo exec fish
chạy khi msys2 bắt đầu, nhưng không phải mỗi khi bash bắt đầu.
Cách tôi tìm thấy là thông qua tệp msys2_shell.cmd
trong thư mục cài đặt của msys2. Tôi tìm thấy những dòng này:
set SHELL_ARGS=
:collectparams
if not "x%~1" == "x" set SHELL_ARGS=%SHELL_ARGS% %1& shift& goto :collectparams
Có vẻ như họ đang xác định các tham số để chuyển đến bash ngay khi nó bắt đầu, nhưng chỉ khi tập lệnh này chạy (không giống như .bashrc
). Vì vậy, tôi đã thêm dòng này ngay sau:
set SHELL_ARGS=%SHELL_ARGS% -c "exec fish"
Mọi thứ dường như vẫn ổn cho đến nay. Bắt đầu msys2 thay thế bash bằng cá ngay sau khi tải xong, nhưng nếu tôi cần một dòng lệnh bash, tôi vẫn có thể bắt đầu với nó bash
.