I highly recommend zsh. It takes a moment to setup initially, but you can use oh-my-zsh to just skip that part and use one of the many, many presets, and it supports plugins, of which there are many. It gives you tab support for so many popular commands, you will never need to remember them, and it has a lot of small improvements that makes your terminal life a breath. For example, if you do cd tab in bash, it will give you a list of subdirrectories. If you do the same in zsh, it will give you that list and a cursor that you can use to navigate said list, so instead of typing the dir, you can do cd tab tab tab enter
I highly recommend zsh. It takes a moment to setup initially, but you can use oh-my-zsh to just skip that part and use one of the many, many presets, and it supports plugins, of which there are many. It gives you tab support for so many popular commands, you will never need to remember them, and it has a lot of small improvements that makes your terminal life a breath. For example, if you do cd tab in bash, it will give you a list of subdirrectories. If you do the same in zsh, it will give you that list and a cursor that you can use to navigate said list, so instead of typing the dir, you can do cd tab tab tab enter