This is bait.
And I'm ready to fish
This is bait.
And I'm ready to fish
Currently using zsh but I installed fish yesterday to try it out because I'm thinking of switching. All the zsh plugins I have are basically just replicating what fish has by default anyway and fish might do it better.
Plus, look at your name!
The other way around, fish was implemented with the most popular zsh plugins in mind.
what’s fish got? I’m liking zsh here but am always open to a distraction instead of getting work done. :)
Lovely OOTB defaults. I basically change nothing except the theme.
Autocomplete, git context, etc. The QOL stuff you'd expect.
It's time for a nushell
Misread it as nutshell
using friend's computer
open terminal
it's actually windows
It's actually windows
It's actually not Unix-like.
Am I out of the loop? what's wrong with zsh?
Classic linux tribalism. Use what you like and don't get involved with these confrontational nerds.
I mean, there's some things that became validly toxic due to their developers, example off the top of my head: Reiserfs
True, software can call you a slur.
It's permissively-licensed (as opposed to bash, which is GPLv3). Pushing zsh over bash is part of a larger effort by corporations to marginalize copyleft so they can more easily exploit Free Software at the users' expense. Don't fall for it!
fish, the main modern alternative to zsh + oh-my-zsh, is mostly GPLv2, and you can redistribute it and/or modify it under the terms of the GNU GPL as published by the Free Software Foundation.
It's better.
Default zsh is just bash, you need to add all the fancy plugins to get it to do cool stuff
fish is for people who don't want to spend the time setting it all up and to just get a shell that has most of the QoL fetaures builtin.
Fish is for people who like it when sometimes scripts don't work
Why would sometimes scripts not work? All scripts are executed with bash by default.
No, they are executed according to the shebang on the first line, which is usually bash. If it is missing, it will default to the current shell.
I literally do not notice any difference. If the folders and such get the pretty colors and tab works, I could give a damn.
Oh yay, more tribalism.
Linux noob here. Can you explain please why I‘d use a different terminal than what my distro provides (bash)?
I would really recommend you try fish.
It has a lot of nice autocomplete features and handles functions much better than bash. It has a very sensible autoconfig so you can just install and try it.
Zsh can be configured in quite a lot of ways. It's default config is quite similar to bash.
What does it autocomplete? Filenames? Bash can do that too, right? I just hit the tab key and it’s written there.
And with functions you mean in scripts? How does it handle functions better?
Autocompletions in fish also take history into account, which saves you a lot of typing in the long run.
Fish shell script is much more sensibly constructed than bash so it's just much easier to write a script in fish.
Thank you for explaining
Fish was amazing when I first discovered it, but I found it had too many problems for me to effectively use it. Having to adapt existing bash/zsh scripts was a major problem for me.
So I went the other way around and managed to get all of the Fish features I wanted working under zsh using atuin, starship, and other misc. oh-my-zsh plugins to fill the gaps.
Best part: I used a git-controlled home-manager setup to do it so I can activate my entire environment on a fresh machine/server in minutes after I clone it.
Features and default settings, but its really just about preference. They are all good at what they do.
Also im only saying this because it confused me for so long, but shell and terminal are different parts of the same thing. Bash is your shell, its the backend that runs everything you type into your terminal. My computer for example uses my kitty terminal which communicates in bash. You can change both the shell and terminal. Zsh is another shell, so it would change the "shell language" you use to communicate with your terminal.
There can be a ton of reasons, albeit I personally also just stick with default (for me zsh). In typical linux user fashion I also must tell you that bash and zsh are shells, not terminals.
The two main reasons you'd choose a particular shell is because you prefer it's configurability or syntax. Zsh has a bunch of features that you can enable and you can configure it to behave basically however you want, like adding spelling correction or multiline editing, but it's defaults absolutely suck unless your distro comes with a sensible config. Fish, which another guy here's raved about, goes in basically the opposite direction and is really nice to use out of the box (I haven't used it though). I hear it's technically not a valid /bin/sh substitute like zsh or bash because of syntactic differences, but that'd be a whole other rabbit hole if true.
One other reason can be performance concerns because bash is pretty slow when treated as a programming language, but I'd argue you shouldn't organize your workflow so that bash is a performance bottleneck.
/bin/bash and move on with your life.
Edit: Oh no one is looking for a solution. I see.
zsh > bash
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
sudo in Windows.Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.