You wouldn't expect a carpenter to have just one or two tools, would you?
This. Being able to use the appropriate tool for a task makes you a better and more productive developer. Programming and scripting languages are not "one size fits all".
There are also things that you will need to know to be productive on specific platforms. For example, on Linux you really ought to be reasonably proficient in bash (or one of its variants), plus whatever language you're developing your application code in.
It's common for people new to programming to focus on one particular language as if that encompasses everything they'll need to know, but how to write good code, and how to solve problems isn't tied to any one particular language. And then there's the times where you'll inherit a project written in C#, or Python, or Ruby, or PHP or some other language which you might not even like. So far in my experience working on an existing application that's already up and running is much more common than building something from the ground up, and that means you've got to work with what you've got.
Yup. I've flipped back and forth between C++ and Python at my current job. Will probably end up doing some Java eventually too, since there's a lot of existing Java code in the product.