If you use zsh, there is zsh syntax highlighting plugin. For bash, a cursory search gave me ble.sh which looks interesting. And as other threads have mentioned, fish shell has this built in, but beware fish shell syntax works drastically differently from other POSIX shells
beware fish shell syntax works drastically differently from other POSIX shells
Come on, that’s scaremongering :)
On interactive, day-to-day use, fish syntax is basically the same as bash or any other shell: you type your commands, hit enter and the command is run. Only when it comes to scripting (or writing complex one-liners, or copy-pasting stuff from the web) are there appreciable differences. In those cases, until one is accustomed to fish, running the command/script in bash is still an option.
Let me be 100% clear: yes, fish will complain if a wildcard doesn’t expand to anything, and there are other minor things that may impact typical interactive use. I’m just saying there is basically zero learning curve if you want to try fish and that you can just fire up bash if you hit a wall in a moment when you can’t afford to investigate because you need stuff done.
If I had to say, the most hassle with fish is that people assume you are running POSIX shell and so you have to know how to adapt instructions to your shell. For example, someone may say “add expor SOME_VAR=some_value to your .bashrc” and you need to be able to translate that to fish. Also, there is very specific software (in my system, it’s just sdkman, an utility that manages which java development tools are installed/available in a shell session) that only works in POSIX shells and needs some adapter for fish.
Having to adapt to shells is exactly why I don’t like to use radical shells like fish or nushell. I don’t want to feel too comfortable with them, because if I do, I would probably regret it when I’m stuck in situations that doesn’t have the correct shell. SSH into a new server or Raspberry Pi that has DNS issue, for example, which actually happened to me more than once. The DNS is already troublesome, and I don’t want shell unfamiliarity to become another headache
Well, it’s not like by learning fish you’ll automatically forget bash :) but I do agree that you should learn bash first, then plain sh and only after those go explore other shells.
If you use zsh, there is zsh syntax highlighting plugin. For bash, a cursory search gave me ble.sh which looks interesting. And as other threads have mentioned, fish shell has this built in, but beware fish shell syntax works drastically differently from other POSIX shells
Come on, that’s scaremongering :)
On interactive, day-to-day use, fish syntax is basically the same as bash or any other shell: you type your commands, hit enter and the command is run. Only when it comes to scripting (or writing complex one-liners, or copy-pasting stuff from the web) are there appreciable differences. In those cases, until one is accustomed to fish, running the command/script in bash is still an option.
Let me be 100% clear: yes, fish will complain if a wildcard doesn’t expand to anything, and there are other minor things that may impact typical interactive use. I’m just saying there is basically zero learning curve if you want to try fish and that you can just fire up bash if you hit a wall in a moment when you can’t afford to investigate because you need stuff done.
If I had to say, the most hassle with fish is that people assume you are running POSIX shell and so you have to know how to adapt instructions to your shell. For example, someone may say “add expor SOME_VAR=some_value to your .bashrc” and you need to be able to translate that to fish. Also, there is very specific software (in my system, it’s just sdkman, an utility that manages which java development tools are installed/available in a shell session) that only works in POSIX shells and needs some adapter for fish.
Having to adapt to shells is exactly why I don’t like to use radical shells like fish or nushell. I don’t want to feel too comfortable with them, because if I do, I would probably regret it when I’m stuck in situations that doesn’t have the correct shell. SSH into a new server or Raspberry Pi that has DNS issue, for example, which actually happened to me more than once. The DNS is already troublesome, and I don’t want shell unfamiliarity to become another headache
Well, it’s not like by learning fish you’ll automatically forget bash :) but I do agree that you should learn bash first, then plain sh and only after those go explore other shells.
I love how “radical shells” sounds! :)