I tweeted something to this effect a couple of days ago:
$ bzip something.tar ==> ksh93: bzip: not found [No such file or directory] $ echo "GAH! One of these days...!"
I had a couple of people asking for clarification, and one particular eagle-eye cherry tweeter had a question about my choice of shell. So I’m going to tackle both in one post!
The problem was I mistyped
bzip2, the ludicrously common *nix compressor. It’s seeing less use now that
xz doesn’t take too long on modern hardware, but you’ll likely still encounter it. I have two theories for why I routinely mistype it:
I almost always do
tar -cjvfto archive and compress in one command, so I’m rarely invoking
It’s close enough to
gzipthat I type it as such.
I’m avoiding just aliasing the problem away, because I’m concerned it’d just cement this incorrect neural pathway. I think I just need to make this mistake enough times to get it through this veritable skull of thickness.
Which leads me to the
ksh93 in the error that I completely missed. Yes, that’s the latest iteration of the original KornShell by David Korn and contributors. I sort of let slip that I was using it as my daily driver back in February, while blogging about NetBSD HAXM:
Anyone who rocks the KornShell is awesome in my book, too.
I used and loved
tcsh for most of my *nix career. It was the default shell back when Mac OS X was awesome, and it’s still the most capable shell in FreeBSD base. As I wrote a decade ago:
If I need to do some shell scripting I use basic sh, but I always try to use tcsh as my interactive shell whenever possible.
This worked well, but I was also learning more Bourne shell script tricks, and wanted to use them in my interactive shell as well. tcsh would, understandably, bork at my Bourne syntax.
I had experience with the KornShell from NetBSD, so I started using it everywhere. It has Bourne compatibility, with a few interactive niceties. I installed ksh93 and left it at that, but have since learned there are a few offshoots, including the Public Domain
pdksh and MirOS
This week is looking pretty slammed, but I’m going to install a few from ports and do some tinkering. I’d be keen to hear on Twitter if you have a preference and why.