difference between ksh and bsh

i am not that techie when it comes to unix. all i know is how to code...

kindly enlighten me regarding the difference between ksh and bsh. we are currently running scripts using ksh... what would be the implications if we need them to run using bsh?

thanks!

Hmm, interesting question. Did you mean bsh or bash?

Or are you looking at bsh as some are using it as being Bourne shell (some distributions are using ksh for root account as default and moving sh to bsh).

Or are you looking for bsh - bean shell (java) ?

You'll need to check which bsh someone is asking you about.

told you i was not techie :slight_smile:

bourne shell vs. korn shell.

Dude, don't worry about it. You probably can code better than many of us here... :slight_smile:
But "Bourne shell" is just a name for the orignal version of the Unix comand intrenpreter, written at AT&T Bell Labs by a guy named Steve Bourne -- hence the name. This was the basic shell provided as part of the UNIX operating system from AT&T (starting with version 7), and since UNIX emerged from AT&T, it became the de facto standard shell. It was designed to be used both as a programming language (an interpreted one), and also as an interactive command interpeter, to accept commands from the user and relay the message to the underlying system (ie, to the kernel). AT&T came out with different versions of Unix (like e.g. MS has Windows 95, than 98, than XP). The shell changed slightly with various versions (like the introduction of job control, e.g.). (UC Berkley was a hotbed for UNIX innovation at this time, and they came out with their own shell, the csh. This made a lot of enhancements for interactive use, making it easier for the user to type commands manually. But don't worry about that for now.)
But then in the early to mid-80's another AT&T employeee, David Korn, decided it was time to really revamp and make some serious enhancements to the UNIX shell. What he came out with has been called the "Korn" shell, to make a distinction with the old "shell", now know as the "Bourne" shell. The Korn shell still exists today as a active product being developed (www.kornshell.com). You can download it for free, and even get its source. But some version of the "Bourne" shell is still shipped with most commercial Unices (found as /bin/sh/).
But keep in mind that AT&T was not "open source". So people from early on were trying to write clones of their software. There are clones of both the Bourne shell, such as ash, and also of the Korn shell, such as pdksh. One could argue that bash is a clone of both ksh and csh, merging many features form both.
But nowadays, when you say "Bourne shell", in most contexts you use it basically to refer to the set of features that were present in the original versions of the shell. Almost all shells available today have more than just this. A large part of this has to do with POSIX, a body who defines standards for what precisely a UNIX shell must be able to do. So many shell creators try to conform to this standard, and if they choose they add more features besides.
So there are many different shells, and some have different emphases, depending on what the author wants to stress in the product. For example, the zsh is really bloated, because it it is geared to be an interative shell -- ie, a shell intended for a human being to enter commands in by hand. So it has a lot of really fancy features to help the user out. Others, like the ash (or Debian's ash called dash) tend to be minimalistic, and opt for small size and fast execution time. These small shell's are geared towards interpreting scripts, and not so much for interactive use.
So to sum, you can view the Korn shell as a super-set of the features availabe in the Bourne shell. But all Bourne-derived shells (i.e, those not in the csh lineage) have the features of the original shell, and so using only those original features in your scripts is good if you want your scripts to be as portable as possible. But in the end, its all pretty much the same language...."Bourne", one might call it....or, because "Bourne" is really the only shell scripting language used actively on Unix, you can just say "Unix shell scripting language", and every one will understand that you mean some dialect of "Bourne". (You could learn to script in the csh language, but no one really uses it, and so it may not be worth your time. Learn the Bourne style programming.)
If you are interested to learn more about Unix shells, search Google for "Unix history" and 'Unux shell history". Like try this site...http://www.phys.ualberta.ca/~gingrich/research/shells/shells.html

thanks for the help!