What is the appeal of zsh?

Typo correction. Example: % hadoo fs -ls / zsh: correct hadoo to hadoop?

I would genuinely prefer dealing with the typo than take a chance that it ever 'fix' a dangerous command.

Smarter auto completion. Example: cd [tab] [list that only includes directories -- why would I want to 'cd' into a file?]

Works in bash with bash-completions

More smart auto completion Example: ssh [tab] [ list of hostnames found in ~/.ssh/known_hosts -- in bash it gives me files (which ssh cannot accept pretty much ever)]

Works in bash with bash-completions; reads /etc/hosts, ~/.ssh/config, ~/.ssh/known_hosts, etc.

Speaking of ssh, I think there is a way to auto complete paths on a remote host while using scp if you have ssh-keys enabled (I don't use that much so I don't have it).

Also works with bash-completions

More smart auto complete. This time for git commands (also has hg, probably more too). Example: git a[tab] [shows a list of git commands starting with 'a'

Also works with bash-completions

Not sure if this is in bash as well, but ** is recursive globbing, which is nice. Example: ls */.txt could/show/a/long/path/ending/in.txt

That is likely very resource intensive, depending on your directory tree, it would be much better to use find.

Has nice git and hg integration. For example, my "left prompt" is fairly standard, but my "right prompt" is my current directory and current branch (if it finds a git or hg repo in the current directory). Does bash have right prompts? I didn't think so, but maybe I just didn't know. Anyway, that's another nice feature. I have my right prompt print the current directory and if the path or my command get too long, the right prompt disappears.

There is no 'native' concept of a left/right prompt in bash, but one could probably make one easily enough with PROMPT_COMMAND, and to the point about a git prompt, I have a nice function that detects when I am in a git repo and gives me status in the prompt, with bash.

/r/linux Thread