Wednesday, February 07, 2007

Switch to zsh

Hey folks. I have been working on some pretty neat stuff lately, but I haven't had much time to post. I'll try to get an interesting post out the door soon.

I'm also giving zsh a shot as my default shell. I've always liked bash because it's very powerful and can do some very cool things, but zsh seems to have just about everything bash has, and then some. One of the biggest benefits of zsh is that zsh lets you have a shell prompt on the right-hand side of the screen; really cool.

moby[jgm]> cd /var/log                                ~ 
moby[jgm]> /var/log


Most of the advanced shell tricks, such as process substitution, also work in zsh, so you likely won't miss much there. Zsh can't do the bash trick of creating sockets by referencing files in /dev/tcp/host/port, but as cool as that is, I never actually found a use for it (nc is almost always more versatile in this respect).

So far zsh seems pretty darn cool, and it's an easy switch from any bourne-style shell.

11 comments:

Anonymous said...

/dev/{tcp,udp} is a misfeature that's disabled in Debian anyway.

Anonymous said...

Oops. I pasted the wrong link. Here you go.

Anonymous said...

I recently switched to zsh too. I was fooling around one day and decided to check it out. I'm loving it. It seems to me to be the perfect blend of the good parts of sh/bash and ksh.

This user guide provides a nice, casually written overview of the shell and its features.

Anonymous said...

A pretty good Mac-specific zsh info site is http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/ZSH_on_OS_X

Drew Thaler said...

I've been using zsh for several years now. I like it.

I can't really point to a lot of things these days that you can do in zsh which you can't also figure out a way to do in bash or ksh. It's just that in general zsh just seems better designed and less crufty.

For one thing, it's got sensible defaults so that you don't need to customize it heavily before using it. I appreciate that since I often have to sit down at machines that either aren't "mine" or are freshly wiped. I'm not a fan of bash's default settings, but zsh's defaults work well for me.

It's also got a really great set of man pages.

Dan said...

I've been using Zsh for quite some time too. I particularly enjoy its advanced file globbing, e.g. ls *(.x) to list all recursive files or ls **/*.jpg(^@) to recursively list all files which end with .jpg but aren't symlinks.

In general, you should check out the Zsh documentation, it's quite good. For instance, there are two modules which deal with TCP which might be interesting to you.

Anonymous said...

After this article, I've got little interested in diferences between shells (simply is bash the best one)
and found my answer here LINK
Seems zsh is the best one of all of them because it includes the most number of features available in other shells

Island in the Net said...

Just tried zsh on my MacBook. Very cool. I would consider switching but I have used bash for so long I am worried about my productivity drop while I learn.

Anonymous said...

I switched to zsh (under Linux) at work, and I'm loving it, especially the powerful completion, the right hand prompt, and the globbing options. I think I'll switch on my Mac too.

wmwebtr ödüllü seo yarışması said...

thanks you my blog: http://wmwebtrodulluseoyaris.blogcu.com ;)

Darkkye said...

Its basically a ksh, but much much better!
Please visit: http://www.thebluechip.com.br/