How does `chsh -s $(which zsh)` work?

chsh -> change shell

-s -> specify which shell

$(which zsh) -> run command which zsh and return it as operand to chsh -i

some distributions store binarys (like your shell) in different locations. so there is no one-fits-all tutorial for chsh. to make sure you give a valid path to chsh, you can search for zsh. this are 2 steps, combined in one command. 1. search for zsh ("which zsh is provided by system to me") 2. set it as your shell. the given command is failsafe and works on every linux (and unix) whith chsh and zsh installed, no matter in which directory/path it is installed.