I have been inspired by Chen to talk about bash…
I have been using ksh for many years, and I mean ksh88 not ksh93. The main reason is, I want my script to run the same way in any Unix flavor.
ksh93 has never been too much popular. I used it a few time to sleep half a second
echo sleep 0.5| /usr/dt/bin/dtksh
ksh has a lot of nice features. I just used one of them in my script :
$ typeset -u name
$ read name?"Enter your name : "
Enter your name : Laurent
$ echo $name
LAURENT
Way easier to force a variable to be uppercase rather than using echo|tr etc
Bash has some nice features too, but unfortunately every OS release come with a different bash version, which is the same pain as perl when you want to write a script that last for a decade or two.
Ok, just4fun
$ mkdir -p {a..z}/{1..9}
... create directories a/1 a/2 ... z/8 z /9
$ [[ text =~ t..t ]]
... check if text matches regular expression t..t
$ echo ${text/pattern/string}
... replace pattern by string
The first two commands require bash3, the last is just fine with bash2.
Have fun shell-scripting