To preface — I love Fish — "Finally, a command line shell for the 90s" is an apt description. I use it every day.

But I haven't managed to recommend it to beginners. There are so many bash instructions out there, and translating between bash and fish isn't easy for a beginner.

That's a great shame and missed opportunity, because beginners would in particular value a nice shell. The shell is often one of the harder tools to learn — e.g. I find beginners are more comfortable in a Jupyter Notebook than they are the shell.

I'm not sure whether there's a way of combining fish's ease of use with a notion of compatibility — maybe a "bash mode" for beginners, which accepts bash commands? Or error messages which return translated commands?

(I recognize not all commands can be translated, but all of those that would be run by a beginner can be)

Usually, those commands can be run in bash from fish with a bash -c, or from a file.

Or via Bass[1], for things that modify the environment.

[1] https://github.com/edc/bass