Changing login shell without chsh

For my daily terminal life, I use fish shell. Fish shell can be largely described by the headline on its official website:

Finally, a command line shell for the 90s
fish is a smart and user-friendly command line shell for macOS, Linux, and the rest of the family.

Among all …