4

Possible Duplicate:
What are the fundamental differences between the mainstream *NIX shells?

If I write a shell script in bash, will it run in ksh as well?

if not, what are the differences?

Sastrija
  • 143
  • 1
    See: http://unix.stackexchange.com/questions/3320/what-are-the-fundamental-differences-between-the-mainstream-nix-shells – jasonwryan Nov 01 '11 at 07:24
  • The Korn shell is ksh. csh is the C shell. Which one are you asking about? – Mat Nov 01 '11 at 07:33

3 Answers3

5

Depends on which specific commands/features you are using but generally no.

See http://en.wikipedia.org/wiki/Comparison_of_command_shells for a summary of differences between shells.

Matteo
  • 9,796
  • 4
  • 51
  • 66
3

No. Both bash and ksh have custom specific extensions and behavior. If you want to write portable scripts, stick to POSIX syntax:

http://pubs.opengroup.org/onlinepubs/009695399/utilities/sh.html

http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html

jlliagre
  • 61,204
2

It's best to treat each separate shell as a separate programming language. Don't try to write polyglot shell scripts, it makes them unreadable and clunky. Instead, learn how to program in one shell and then be careful with always specify that shell as the script's interpreter in the hashbang on the first line.

Remember that the shell that your script is running in has nothing to do with the shell you're executing it from. Hence, you might be interacting with your UNIX system through csh while at the same time be writing all your shell scripts for ksh.

Kusalananda
  • 333,661