Slashdot Mirror


AT&T's Korn Shell Source Code Released

Henk Langeveld writes, "This announcement can be found at kornshell.com: March 1, 2000: I am happy to annouce the the 'i' point release of ksh93 is now available for download. For the first time, source is available as well as binaries for several architectures. If you build binaries for new architectures, and send them to us, we can add them to the download site. The download page has been completely revised in a manner that hopefully will be easier to use. ksh93 is part of the ast-open package. tksh (ksh with tk support) is also part of this package. -- David Korn
As a long-term fan I'm glad to see the korn shell now being released under a new license. The license is quite non-standard, and does include some restrictions (changes can only be distributed as patches), but as far as I can see it does allow anyone to bundle binaries with their products. The distribution format is quite non-standard. The research group at AT&T has their own packaging system, built around nmake. "

148 comments

  1. Re:Open Source license by Anonymous Coward · · Score: 0
    I discussed the ksh source release with David Korn a while back, including the point that it was probably too late. He seemed to think that the original still had some features not available in pdksh or elsewhere.

    I believe it has. Pdksh is a reimplementation of ksh88, not ksh93, the latter being much improved. Bash 1 also lags considerably behind ksh93, and bash 2 still seems to be somewhere between ksh88 and ksh93. Regarding ksh93's specific advantages, I particularly like the maths-related features, and the associative arrays are quite nice too.

    If you don't use any of ksh93's advanced features, you won't notice much of a difference between it and more basic shells like bash (or pdksh). In fact, you probably won't like it as much, since it requires more work to initially configure (bash, for example, hard-codes/defaults a lot of things like the ENV file, emacs keybindings, etc., so novice users don't have to worry about configuring/enabling them). If, on the other hand, you do use ksh93's advanced features, downgrading to bash or pdksh is painful.

  2. Re:You need to get laid by Anonymous Coward · · Score: 0

    Besides which, zsh isn't miles above ksh. As a programming language, I'd say ksh93 is decidedly superior. As an interactive shell, either is fine.

  3. Re:Ahhh... the Korn Shell... but is it too late? by Anonymous Coward · · Score: 0

    No, its not too late.

    Bash 1.x doesn't come close to ksh as far as a language goes.

    Bash 2.x is closer to being equal to ksh, but
    its been very buggy and improvements have been
    glacial in coming.

    pdksh has trouble with job control and sending
    signals.

    Just a week or so ago a friend and I were commiserating that Linux had no good shell.
    Now it looks like it may get one.

  4. Re:uhhm, who cares? by Anonymous Coward · · Score: 0
    But license issues aside, bash is overall a better shell. So, anyone who cares about ksh, raise your hands.
    raises hand

    Personally, I am often thankful that ksh (or rather pdksh) exists, basically, because bash is restricted by being bourne shell-compatible. ksh has some nice extensions. Shell functions with return codes greater than 255 frex.

    And I script with zsh when using globbing, because bash sucks for that too.

  5. Re:Ahhh... the Korn Shell... but is it too late? by Anonymous Coward · · Score: 0
    I've never really looked closely at the differences between bash and ksh but the question that occurs to me is this: has bash overtaken ksh in functionality to the point that this release is now too late to matter

    No, it is not too late. pdksh is nice, but nasty bugs aside it is not the ksh. Try to write stuff, that must run on other, read some customers', machine .. either sh or ksh at most. One just cannot rely on having them a bash, perhaps a certain version or better, installed.

    Okay, add to that some sentiment as being with *nix for a long time this is a great thing to me to have too.

    Getting closer and closer, now I only need to make some room to put up a PDP-11 8)

  6. Re:Open Source license by Anonymous Coward · · Score: 0

    Nothing. I just wanted to talk to bruce perens. Did you ever know that you're my hero?

  7. Re:ksh is better than BASH by Anonymous Coward · · Score: 0
    ... honest American

    Should be considered to be an oxymoron.

    DOWN WITH OPEN SOURCE

    YEP ... now take your pills and go back to bed.

  8. Re:great. by Anonymous Coward · · Score: 0

    Guys, you have to figure that 80% + of the flaming trolls like this are from A) Windows turd-minions B) Turd-Minions on any platform just trying to make Slashdot/linux/OSS people look stupid.
    maybe the best thing to do is try to ignore them until the moderators give them their -1 .

  9. Re:SCREW ATT, BASH BLOWS KSH AWAY by Anonymous Coward · · Score: 0

    My god, where the hell do you think UNIX originated? If it wasn't for AT&T, your precious Linux wouldn't even EXIST. BTW, a big thanks to AT&T and Mr. Korn for releasing this excellent product to us.

  10. I WANT Korn for Windoze 95/98? by Anonymous Coward · · Score: 0
    Yes, I know everyone here worships Linux and that Linus has a cute round butt that everybody loves kissing. This is cool. Butt Many people though run Windoze. Not NT, but 95/98. Korn's UWIN kit only runs properly under NT; eg. telnet, ftp, etc. I have no idea what is so special about NT that these features couldn't be implemented under 95/98. Is it something to do with the slowness of NT suting the timing loops in UWIN? Inquiring minds want to know! UWIN is a nice start, but we want more!

    http://www.research.att.com/sw/tools/uwin

  11. Korn by Anonymous Coward · · Score: 0

    is a good band

    1. Re:Korn by nick43 · · Score: 1

      use strict;

      $korn != $goodBand;

      1;

  12. Re:pdksh by Anonymous Coward · · Score: 0
    Much as I appreciate the efforts of the pdksh developers, it has serious bugs.

    The worst bug I've found is related to scoping of variables within loops. Making pdksh useless for any script which requires a loop.

  13. Re:Mirrors by Anonymous Coward · · Score: 0

    Hmmm... seems fine on my system. What compilers are you using? Try the newest gcc release from http://gcc.gnu.org.

  14. Re:Open Source license by Anonymous Coward · · Score: 0

    I hate to shatter your little illusions, but that's not the real Bruce. You can tell by the little '.' after his name. Don't feel bad. I used to fall for that too.

  15. MODERATE THIS UP by Anonymous Coward · · Score: 0

    The above post points out a very serious flaw in the lissence!

    Really, I do not know why anyone would want to use ksh anyway. It's crap compaired to zsh and bash is really more standard now anyway (fuck the commercial unixes and their out of date choice of shells. BSD and Linux are what matters).

    1. Re:MODERATE THIS UP by logicTrAp · · Score: 3

      ksh is actually quite servicable in the absense of a better one, as long as you apply the right magic to your .shrc or whatnot. To get some decent command line editting do a 'set -o emacs', to get the arrow keys etc to work
      alias __A=`/bin/echo "\020"` # Up
      alias __B=`/bin/echo "\016"` # Down
      alias __C=`/bin/echo "\006"` # Right
      alias __D=`/bin/echo "\002"` # Left
      alias __H=`/bin/echo "\001"` # Home
      alias __p=`/bin/echo "\004"` # Delete
      alias __q=`/bin/echo "\005"` # End
      alias __z=`/bin/echo "\017"` # Clear
      (The previous works on Solaris, it might need some tweaking for different forms of echo) Unfortunately, I don't know of an easy way to get TAB to do filename completion (the default is ESC ESC) Would I rather use ksh than bash? No. But, there are a lot of times when getting ksh to work nicely is easier than getting bash onto the machine in question.

  16. More than just ksh by Anonymous Coward · · Score: 0

    To my astonishment the sources of basename, cat, chgrp, chmod, chown, cmp, comm, cp, cut, dirname, expr, fmt, fold, getconf, head, id, join, logname, mime, mkdir, mkfifo, od, paste, pathchk, pr, rmdir, strings, tail, tee, tr, tty, uname, uniq, uudecode, uuencode, wc, what and who were included as well! Ow boy! am I going to build an AT&T/Linux distro

    1. Re:More than just ksh by ebh · · Score: 1
      To my astonishment the sources of basename, [...] were included as well! Ow boy! am I going to build an AT&T/Linux distro

      Those commands were rewritten by the group Dave was in, in order to provide for themselves a set of utility commands they could use across a wide variety of platforms, working around the incompatibilities among all the Unixes.

      So, you're not really getting the original AT&T code. If you want that, look for Sun or someone to open the source they originally got from AT&T.

      -Ed

      ...who spent the early 90's beta-testing new ksh releases.

  17. Re:not microsoft nmake by Anonymous Coward · · Score: 0

    This phenomenon invites closer analysis -- and perhaps we should probably have had grounds for thinking that the linux community can bring to bear on a project collapse into a coherent account of hacker ideology. You know, that's almost a sentence! <GRIN>

  18. Troll? by Anonymous Coward · · Score: 0

    Why would anyone moderate this down as a troll? The guy thinks it was about damn time AT&T released ksh source. I tend to agree.

    Meta-moderators, do your duty!

  19. Re:That's a problem with uploads in general by Anonymous Coward · · Score: 0

    :%s/hack/crack/ Thank you.

  20. Re:zsh rocks by Anonymous Coward · · Score: 0

    Ok, I'm converted! I here by renounce my evil pdksh/ksh ways and will join you in exploring the wonders of zsh. (Actaully, I serious.. that was pretty cool)

    I'd rather see Larry Wall make a shell out of Perl, but it sounds like zsh is a good compramize.

  21. about a year ago.. by Anonymous Coward · · Score: 0

    .. I learned perl. And honestly, I haven't written a single shell script since then... well maybe a batch file type of script or two, but nothing that required any real calculation or flow control. Seriously, shell scripting is a dead art if you ask me, only useful for legacy systems on which it is impossible to install perl or some better solution. The shell is for CLI stuff, real programming happens with languages that don't try to be a UI to the operating system at the same time. Just my 2 cents.

  22. Re:Yer hilarious by Anonymous Coward · · Score: 0

    ACTUALLY, it's a backwards R slick.

  23. Re:Mirrors by Anonymous Coward · · Score: 0
    I should have noticed it, but this link is again the same bestiality site as put into some past article.

    Seems to be down though anyway Mr dogfart.

  24. Re:Yer hilarious by Anonymous Coward · · Score: 0

    Nope. The O is backwards.

  25. Re:uhhm, who cares? by Anonymous Coward · · Score: 0

    "I'm not ready to trade the closed world of Microsoft for the closed world of zealotry."

    -reallocate

    Good quote for a sig.

  26. Re:uhhm, who cares? by Anonymous Coward · · Score: 0

    What do you mean? It's that self-importantance and trivial flamewars that has earned Unix the 0.2% marketshare that it enjoys today!

  27. Re:Three Steps forward 1/2 step back by Anonymous Coward · · Score: 0

    Yeah, I really dig the Paula Abdul song as well.

  28. Re:SCREW ATT, BASH BLOWS KSH AWAY by Anonymous Coward · · Score: 0

    Doesn't that seem a little closed-minded? The ksh is on most all commercial UNIX distributions. Why is it a bad thing to have some true measure of command line interoperability between the business UNIX variants and the home/hobbyist/personal one? The entire bash vs csh vs tcsh vs zsh vs ksh vs etc. sounds like a vi vs emacs or a "tastes great" vs "less filling" argument. Why not use the shell you know and like (personally, I prefer ksh) and not turn this into some type of religious holy war? Just an observation, but I'm really tired of the hypocrisy on /. One company gets slammed because they don't open source their product, but another gets slammed as too little, too late (see the "lame after the fact source release" statement)when they do just that. If you prefer bash, then shut up, use it, and please don't tell me how crappy my preference is.

  29. bash is better. Thanks for nothing, Korn. by Anonymous Coward · · Score: 0

    Too little, too late, Korn.

    Where where you 10 years ago when it wold have made a difference?

    1. Re:bash is better. Thanks for nothing, Korn. by mayoff · · Score: 1

      bash is better? ksh is much faster than bash, has FPATH, executes the last command of a pipeline in the current shell, and has much more powerful key-remapping functionality. Maybe zsh is better, but bash definitely ain't. (From a former ksh user who had to downgrade to bash.)

    2. Re:bash is better. Thanks for nothing, Korn. by Yakko · · Score: 2
      "Thanks for Nothing?" Sorry to be replying to a post i can see instead of the original, but...

      I think this is rather cool of them to do. When I first started using ksh for real, I was already ingrained in bash. I spent countless days swearing at "that infernal ksh piece of crap..." Once I learned how bash stuff could be done in ksh, the swearing was over.

      The things I miss that are in bash are:

      • no !$ substitute! ($_ seems to be the ksh equiv)
      • no arrow history! (i use vi mode...)
      • no tab completion! (pdksh's vi-tabcomplete mode is heaven, tho)
      There're prolly a few more, but those are the most nagging. Doesn't stop me from being productive with "plain" ksh...

      --
      --

      --
      Me spell chucker work grate. Need grandma chicken.
  30. Re:not microsoft nmake by Anonymous Coward · · Score: 0
    What?

    Could someone help me by translating this into English sentences? -jaz

  31. Re:Yer hilarious by Anonymous Coward · · Score: 0

    the |&lt()r|\| is listening. for tomorrow is the harvest, and them, it is JUDGEMENT DAY!!

  32. Dear moderator: I'm going to nail you in m2 by Anonymous Coward · · Score: 0


    The above is OFFTOPIC. It is not a troll. Look up "troll" in the Jargon File. You were right to moderate it down, but you should have used the right category.

    You lose.

    Try harder next time.

  33. Re:not microsoft nmake by Anonymous Coward · · Score: 0

    trolls don't speak english.

  34. Re:Am I the only one using tcsh? by Anonymous Coward · · Score: 0

    Sorry to say...I'm not quite sure why everyone beats up on tcsh so much. Coming from a solid System V background, I had always used ksh, as it was the environment you *had* to work in. But, for the past six or seven years tcsh has been my default shell.

    Why? Well, as far as I can tell, tcsh seems to be much friendlier to people 'out of the box' - taking good pieces from sh, csh, and ksh. While not in strict compliance with what POSIX might think of a shell, tcsh has suited me very well for the casual login.

    I still tend to write scripts in ksh since that was my indoctrination to UNIX, but for everyday kicking about in a shell, tcsh is my mainstay. Unfortunately I have to agree with the 'too little - too late' opinion about the 'opening' of ksh...the public domain version has served me well enough in the Linux envronment for some time now and I'm not really anxious to leave it for some unknown licensing that I might not be able to live with.

    Lest we forget,though, that newcomers to the shell prompt like tcsh, ash, bash, and zsh *ALL* base themselves in some degree or another on those which have come before - sh, csh, and ksh.

    I say that every shell has its purpose - some are obviously better than others at specific tasks. Use what you like... [;')

  35. Mirrors by Anonymous Coward · · Score: 0

    I put the source up on my site. Everything looks good, but I haven't been able to get it to compile on my SPARC... anyone have any ideas?

  36. This really *is* a troll! by Anonymous Coward · · Score: 0


    God, it's so rare to see a moderator get something right for a change!

    I mean, sure, it's a crude and useless troll and nobody bit, but at least it's an attempt.

  37. Moderator: I'll nail you in m2 by Anonymous Coward · · Score: 0

    This flooder bullshit isn't a troll, it's offtopic. It should indeed have been moderated down, but you should have done it correctly. Look up "troll" in the Jargon File, since you don't know what it means.

    Get it right next time. I'm tired of all the morons like you fucking up Slashdot.

  38. Re:Yer hilarious by Anonymous Coward · · Score: 0

    No, the O is upside-down.

  39. SCREW ATT, BASH BLOWS KSH AWAY by Anonymous Coward · · Score: 0


    we dont need some lame after the fact source release of ksh when bash blows it away and is in fact the shell unix was built around in the 90's.

    what has a big evil company like att done for linux/unix that open source hasnt done ten times over....

    1. Re:SCREW ATT, BASH BLOWS KSH AWAY by Anonymous Coward · · Score: 0

      what has a big evil company like att done for linux/unix that open source hasnt done ten times over....

      Well, they did provide a lot of funding and support for INVENTING UNIX. God, what a fuckup you are.

  40. Re:Yer hilarious by Anonymous Coward · · Score: 0

    No the O is actually ()

  41. Yer hilarious by Anonymous Coward · · Score: 0

    Actually, the BAND Korn uses some funky backwards "K" IIRC.

    1. Re:Yer hilarious by Anonymous Coward · · Score: 0

      fear the k0rN!

    2. Re:Yer hilarious by Anonymous Coward · · Score: 0

      corn is a gewd band

    3. Re:Yer hilarious by roman_mir · · Score: 1
      Actually, Original version of TETRIS (by Alex Pojitnov) had backwards 'R' first.

      History repeating.

    4. Re:Yer hilarious by extrasolar · · Score: 2

      The Toys R Us has the 'R' backwards also. Coincidence? I don't think so. ;-)

  42. Re:great. by Anonymous Coward · · Score: 0

    Describing the Korn Shell as a "random shell" is just flame bait IMO. Either that or you're the sort of user who gets a nose bleed if you ventures too far from the Red Hat distro.

  43. Mirror (HTTP) by Anonymous Coward · · Score: 0

    I have a mirror of the site here (kept crashing, must have been /.'ed).

  44. I like KSH, but.... by Anonymous Coward · · Score: 0

    I really like KSH. I use it every day, and have for years now. Works nice, but man oh man, the code is just a pile of junk. I had a fix a bug in it once (and submitted it) when I worked at a place that had the full source license to it. Take a look at the code. Yow.

  45. Re:tcsh most popular shell by Anonymous Coward · · Score: 0

    solaris 2.8 comes with sh, ksh, csh, tcsh, bash, and zsh standard. (also apache, but that's another story).

    did dave korn do anything except write what is now a second-rate shell?

  46. Re:great. by Anonymous Coward · · Score: 0

    So what's the big deal? Some random browser finally gets almost Open Sourced(tm). I'll stick with lynx.

  47. Re:uhhm, who cares? by Anonymous Coward · · Score: 0

    I care.

    From what I can see from the replies so far, the people who post here are a draconian bunch to say the least. So what, if you think bash is better? Is it really any of your business what shell someone uses? Criticising the release of ksh source just because you prefer bash is the height of self-importance.

  48. Re:Old news. by Anonymous Coward · · Score: 0

    Jon Katz loves the way it tastes!

  49. Ksh? by prodeje · · Score: 0

    I'll be six feet deep in the cold, cold ground before I will give up my /bin/bash.

    --

    Bitchslapped? Give Rob a bitchslap from bitchslapped.com.

    1. Re:Ksh? by Jesus+Christ · · Score: 1

      I'll be six feet deep in the cold, cold ground before I will give up my /bin/bash.

      And what then? zsh? (zombie shell)

      I am the Lord.

      --

      I am the Lord.
      God Hates Moderators.

  50. Bout damn time by niekze · · Score: 0

    finally.

    --


    Chaos, Mayhem, and Destruction: Not
  51. Re:great. by ubertroll · · Score: 0

    So what's the big deal? Some random operating system has been Open Sourced (no tm) from the beginning. I'll stick with Windows.

  52. Re:ksh is better than BASH by ubertroll · · Score: 0
    There are ALOT of honest Americans

    Show me one.

  53. Re:not microsoft nmake by Bruce+Parens · · Score: 0
    Nmake is not microsoft nmake, it is less likely to be developed in a decentralized way through trade and voluntary cooperation (and in fact, the dominating effect of improvements by thousands of other software but the question of motivation. An equivalent and often-heard way to state my friend's point is that it's future-proof. If sources are closed rather than transmitted. This phenomenon invites closer analysis -- and perhaps we should probably have had grounds for thinking that the linux community can bring to bear on a project collapse into a coherent account of hacker ideology.

    Thanks

    Bruce

    --

    Thanks

    Bruce
    Have you checked out TECHNOCRAT.NET?

  54. Re:Bourne Again Korn Shell? by Anonymous Coward · · Score: 1

    But for scripting, I always use ksh (on Solaris).

    There is this neat little program called Perl that will probable do everything you ever wanted (and is more standard then ksh). Actually, the only reason to use a shell scripts today is to allow both scripting and user shells to work on a system without enough memory to run two large programs at once.

    I think what we need is a ksh with readline support added.

    This would not help that much. Try zsh. It's better then ksh and probable has a modern interface.

  55. That's a problem with uploads in general by Anonymous Coward · · Score: 1

    Hell! Remember tcpwrappers? They got a trojan uploaded to their ftp site, even though they had restricted access to their machines. A cracker hacked into their servers JUST so he could post his hacked release.

    Security will become a much bigger dealio with Linux getting more accepted.

  56. kornshell... by Anonymous Coward · · Score: 1
    Is nothing compared to the power of Cornholio!

    T.P. for my bung hole!

  57. pdksh by anewsome · · Score: 1

    How is this shell any different from the one that's in public domain? Any ideas?

    1. Re:pdksh by NReitzel · · Score: 1

      The "factory" version has better jobs support, and includes support for tcl/tk, sorta kinda. On the down side, I think that pdksh is more robust and better maintained than the AT&T version.

      However, I agree with your sentiments. When I read this announcement, my thoughts were, essentially, "So what? We've been distributing pdksh for a decade." More importantly, the public domain shell is available on far more platforms than the AT&T shell. Notice the MicroSoftCentric distribution based upon nmake - not even upon AT&T's own (original) make.

      --

      Don't take life too seriously; it isn't permanent.

    2. Re:pdksh by Admiral+Burrito · · Score: 2

      One of the most missing features in pdksh is the FPATH variable. All my tested/debugged functions go into files that the FPATH points to. Then any script I write can use any of those functions by just calling them as if they were included in the script.

      Zsh has fpath and supports most (all?) ksh syntax. Bunch of cool interactive features too.

    3. Re:pdksh by smillie · · Score: 2

      One of the most missing features in pdksh is the FPATH variable. All my tested/debugged functions go into files that the FPATH points to. Then any script I write can use any of those functions by just calling them as if they were included in the script. Saves a lot of time having when writting scripts.

      --

      Dyslexics Untie!

  58. Re:Ahhh... the Korn Shell... but is it too late? by mce · · Score: 1
    One of the advantages of ksh over bash is that ksh more or less comes standard with any commercial Unix. This means that one can rely on it being available wherever one's scripts need to run. Except, until now at least, on the free Unices but fortunately pdksh addresses this. That's why I use ksh for all my shell scripts.

    The same cannot be said about bash. Yes, it can most likely be compiled on all (serious) kinds of Unix, but that doesn't mean it will actually be available on any particular machine. In fact, unless your target "customers" use Linux, bash will most likely not be installed.

    Now that AT&T have opened up the real Korn shell, it really is (or can become) universal. It won't kill off bash, however, if only because it's not GPLed.

    --

  59. Re:Pushd/popd, !-3, and arrow keys by Dom2 · · Score: 1


    Why not try Zsh? It has all three forms of history, !-history, fcedit and arrows/I-search. Most of which can be turned on and off at your leisure. And don't forget the many other improvements over most other shells in use today.


    I wrote an article for daemon news some time ago about the advantages of zsh over bash. Check it out.

  60. globbing by Virtex · · Score: 1

    The ksh was the first shell I learned to use, and like you, when I came to bash, I was disappointed by its limited globbing capabilities. But since version 2 of bash, if I drop a "shopt -s extglob" in my .bashrc file, I get those cool globbing features back. Very cool.

    --

    --
    For every post, there is an equal and opposite re-post.
  61. Re:Am I the only one using tcsh? by Astastrafal · · Score: 1
    2. tcsh 'autolist' functionality: possibilities are listed after an ambiguous completion on tab (bash requires two tab's), eg: % ls /usr/l[tab] lib/ libexec/ local/
    This can be set via readline. In /etc/inputrc or ~/.inputrc, put "set show-all-if-ambiguous on". This'll cause bash (which uses readline) to list all possibilities after a single tab. Check the readline man page for other nifty stuff, including the reverse-search-history (default Control-R)
  62. uhhm, who cares? by RelliK · · Score: 1

    I'm gonna be moderated way down for this, but honestly: who cares? We've already got bash, which is much better then ksh anyway. Besides, bash is GPL'd and has been GPL'd from day 1. ksh has just now been released under yet-another-open-source-license.

    But license issues aside, bash is overall a better shell. So, anyone who cares about ksh, raise your hands.

    ___

    --
    ___
    If you think big enough, you'll never have to do it.
    1. Re:uhhm, who cares? by reallocate · · Score: 1

      So do I. And ditto on the "draconian" comment. Geez, the thing is only a shell. Why should anyone care what the next guy is using? I'm not ready to trade the closed world of Microsoft for the closed world of zealotry.

      --
      -- Slashdot: When Public Access TV Says "No"
  63. ksh is the commercial (POSIX) standard! by Macka · · Score: 1

    All you "bash/zsh is best" folks are missing an important point. ksh is the POSIX standard shell. You can virtually guarantee that a ksh script you write on one platform will run on any other platform with ksh (providing you cater for possible path name differences in external commands, but that's not a ksh problem). Add to this the fact that *every* commercial unix platform ships with ksh and its easy to see why ksh is THE standard for writing shell scripts in the commercial world. So I'm extremely happy that I can get a copy of this now for my home Linux systems.

    Macka

  64. Re:zsh rocks by Admiral+Burrito · · Score: 1

    Zsh has been my shell of choice for a few years now and I still haven't discovered all of the features. It is very cool and I'd recommend it to anyone, but there are a few things that bug me...

    Mainly the completion control, spellchecking, and globbing seem to be related in functionality but not in code. For example, I have a "mp3" script that I use to play MP3s. It starts a background processs that changes to my MP3 directory and runs mpg123. This allows me to play MP3s without having to think about what my current directory is. I have a completion control like this:

    compctl -g '*.mp3' + -f -W ~/mp3 mp3

    (Yes, I'm using the old 3.0.x compctl even though I'm running 3.1.6. I haven't yet converted my completions to the new function-based system.)

    That compctl allows my Tab button to complete files that are in my MP3 directory instead of the current directory when the command is "mp3". Very handy.

    Unfortunately, spelling correction isn't smart enough to detect typos in this case. It doesn't know the filenames are in a different directory. The compctl only affects tab completion.

    Even worse, globbing doesn't work at all here. If I type "mp3 Soundgarden/*" the globbing isn't smart enough to know that this is relative to my ~/mp3 directory. Depending on the globbing options I've set it'll report "zsh: no match" or just sends the literal "Soundgarden/*" to my script causing mpg123 to bomb (there is no filename "*"). I could press Tab to have it complete to all of those files and send the whole list to my script, but I prefer the "menucomplete" option. I can modify my script to re-expand the filename string after changing directories but that's an ugly hack- glob expansion is the shell's job.

    Even with these issues Zsh is still very cool. Other shells avoid these problem by simply not providing the functionality (programmable completion).

    If someone knows how to make globbing programmable-completion-aware I'd be very interested to hear about it.

  65. Re:Am I the only one using tcsh? by Lx · · Score: 1

    I use tcsh as well. It seems to be one of the more straightforward shells. I don't like how things are done in Bash, and Zsh, while nice, seems mostly apt for programmer use. Tcsh is a darn good standard shell - it moves you around, does standard csh scripting, runs programs, has job control. If you don't need more, don't change...

    (especially not to ksh where you have to hit esc twice to complete a name :P)

    -lx

  66. Re:great. by Lx · · Score: 1

    Or maybe they're just posting what they think, and counting on slashdot/linux/OSS people to make themselves look stupid.

    :)
    -lx

  67. it's also massively bloated by mattc · · Score: 1
    it's also massively bloated. Most people are never going to do any command like that, and the memory could be better used elsewhere.

    Of course on today's machines it is no big deal, but if you are in a classroom setting or something where everyone is using 486s w/ linux then zsh is definitely NOT what you want.

    Personally, I use tcsh, but only because I don't like bash. I learned unix on ksh, maybe i'll try this one out.

  68. Re:You need to get laid by mattc · · Score: 1
    Zsh is miles above korn anyway - AT&T is a day late and a dollar short.

    It's also miles above korn in bloat and creeping featurism (producing programs more bloated than the FSF's-- that's gotta be a record or something). Fortunately, the zsh documentation basically explains this.. it has tons of features and is more for the 'power user' than the normal person.

  69. Korn Again Shell - Kash by Charlotte · · Score: 1

    Perl has version dependencies which make it hard to use for system administration.

    Have you ever taken a look at your Unix systems' internals? All those startup scripts are written in sh for a a good reason. It's portable, it doesn't require version checks or included modules (which may be on NFS mounted partitions which are unavailable at boot time or in single user mode).

    ksh is neat because it gives you an ok user interface on cleanly installed unix systems (set -o vi anyone?). Then you compile a compiler and get bash and tcsh installed :).

  70. I see... by bkocik · · Score: 1
    ...init, ast-base, ast-open, and ratz. And the search doesn't work. So, uh, where's the ksh download?

    Regards,

  71. DoH! by bkocik · · Score: 1
    Nevermind, I'm an idiot. I didn't read the page that says it's in ast-open.

    Regards,

  72. Re:Am I the only one using tcsh? by andrewb · · Score: 1
    A quote I think is applicable here:

    The only way tcsh "rocks" is when the rocks are attached to it's feet in the deepest part of a very deep lake.
    -- Linus Torvalds

    --

    --

    --
    We apologise for the inconvenience.

  73. Re:Bourne Again Korn Shell? by maw · · Score: 1
    Another way cool feature of ksh is `|&` which is a way of getting a pipe to a background process. I guess they call it co-processes, but it really make a client/server process. I guess you can also call it a bi-directional pipe. You can then use `read` and `print` to send and receive stuff from the "server" started with `|&`. For example, if I need to do floating point math, I can start `bc` in the background with `|&`.

    Interesting. with zsh, |& is a pipe which takes both stdout and stderr, similar to >& and >>& for redirection. It's handy, especially when you need to use a program with a rather verbose --help option. I was surprised to read that ksh does it differently, but I guess I shouldn't be, since bash doesn't recognise |& at all.

    --
    You're a suburbanite.
  74. Re:Bourne Again Korn Shell? by nil · · Score: 1

    Little? Perl? Surely you jest. And speaking of standard ... exactly where is it installed, *standardly*? (This actually is important: if I want to set up a cron job on a large network of machines I don't admin, for instance.) In the same vein: perl has very little in the way of version-independent documentation; the set of standard modules changes too frequently.

    --
    - '()
  75. Re:Bourne Again Korn Shell? by Lazaru5 · · Score: 1

    "I think what we need is a ksh with readline support added. Bourne Again Korn Shell! (Maybe spell "Bourne" as "Born)"

    zsh.

    --

    --
    My comments and opinions completely reflect those of anyone and anything I am remotely associated with.
  76. Re:Bourne Again Korn Shell? by Bazzargh · · Score: 1
    Perl wont fit on a floppy....yet.

    http://www.cosource.com/cgi-bin/cos.pl/wish/info/2 87

    I think the chances of that project seeing the light of day are (ahem) slim.

    -Baz

  77. Am I the only one using tcsh? by brucet · · Score: 1

    I've been hooked on tcsh for a long time. I'd be willing to switch to bash if I could get it to do what I want (need!)

    1. tcsh 'autoexpand' functionality:
    expands the history command on the command line on tab, eg:
    % !ca[tab]
    goes to
    % cat /etc/passwd

    2. tcsh 'autolist' functionality:
    possibilities are listed after an ambiguous completion on tab (bash requires two tab's), eg:
    % ls /usr/l[tab]
    lib/ libexec/ local/

    I know the functionality is in bash, but is it possible to get it to work exactly as they work in tcsh, with the same keybindings? I've been using it too long to switch to hitting escape or Ctrl-D or tabbing twice to get these things.

    Thanks,
    -Bruce

  78. No it's not by adamspiers · · Score: 1

    How about backing up harsh descriptions like "massively bloated" with some concrete facts? And have you actually tried running zsh on 486s? Yes, zsh does tend to be a bit bigger than bash (depending on which bits you've enabled), but you make it sound like it's the latest version of M$ Orifice or something! On my system, it's only 20% bigger than tcsh ...

    And don't forget it does have dynamically loadable modules to keep memory footprint down, and the whole new completion shell function suite is autoloaded for the same reason. If it was possible to quantify the memory used:featurefulness ratio (which of course it isn't), zsh would be a very strong contender IMHO.

    Sure, there will always be environments where memory is limited, but you're always going to have to sacrifice features/performance in those situations.

  79. Re:Ahhh... the Korn Shell... but is it too late? by adamspiers · · Score: 1

    Just a week or so ago a friend and I were commiserating that Linux had no good shell.

    Hello?! How can you possibly say that without checking out all the available options?

    As others have already mentioned, zsh is an incredibly powerful, but vastly under-appreciated shell with enough features to delight virtually everyone. The latest development version is particularly exciting, as it has a mind-bogglingly clever context-sensitive completion system with out-of-the-box configuration for most common UNIX commands, saving you many keystrokes and much time. And if that's not good enough it always has funky built-in themeable prompts ;-)

    For more information specific to zsh development versions, have a look at this page.

    I also wrote a tutorial on advanced interactive usage of UNIX shells a while ago, which compares some features of the more popular shells.

  80. Re:zsh rocks by adamspiers · · Score: 1
    (Yes, I'm using the old 3.0.x compctl even though I'm running 3.1.6. I haven't yet converted my completions to the new function-based system.)

    (snip)

    If someone knows how to make globbing programmable-completion-aware I'd be very interested to hear about it.

    The answer is to switch to the latest development version (3.1.6-dev-19 at the time of writing) -- the new function-based completion system resolves these issues, and it's backwards compatible with your old compctls even if you haven't got time to rewrite them as functions.

  81. Zsh has both of these features. by jplauril · · Score: 1

    The 'autoexpand' functionality appears to work out of the box at least on Debian Potato. 'autolist' works right after saying 'setopt nolistbeep'.

  82. Bash does this too, but differently by BigGaute · · Score: 1

    In bash, you can use ^R to do a reverse incremental search in the command-line history. It's brilliant, I use it all the time.

  83. Re:Bourne Again Korn Shell? by jkorty · · Score: 1

    Ksh always has had readline support. I believe Korn invented the concept. Just set the environment variable EDITOR to vi or emacs to get the desired personality.

  84. Re:not microsoft nmake by /ASCII · · Score: 1
    This comment is not from Bruce Perens(Notice the 'a' in his last name) but from a Troll, so pay no attention.

    --
    Try out fish, the friendly interactive shell.
  85. This is excellent news... by Dextius+Alphaeus · · Score: 1

    I feel that bash, in all of it's perfection is bad because it doesn't natively appear on most unix platforms on an install... Korn shell, is pretty much everywhere, for every version of Unix. I know the two are pretty close on syntax (maybe even exact) .. I just like knowing i can walk into a situation and start writing scripts that will work the first time around, and not having to change things around because of my lack of experience on a certain shell... (For the record, I am equally strong on the bourne, korn and c-shell, however, I prefer the korn)...

    I just wish I could convert my mind into using emacs ... That way I could do a "set -o emacs" instead of "set -o vi" :) ...

    Thank you AT&T, I will appreciate this..

    -Dextius Alphaeus

    --
    -- Java is not a Jedi trait... "do, or do not, there is no try" --
  86. [OT] ast by lfd · · Score: 1

    Reminds me of Andrew S. Tanenbaum, you know, that old friend of Linus ;)

    --
    Going on means going far, going far means returning. Tao te Ching
  87. Re:Binaries from everyone accepted? by quecojones · · Score: 1

    If you build binaries for new architectures, and send them to us, we can add them to the download site.

    I see a problem with this. What if a malicious newbie put some equally nasty routines in their source code and sent them the binaries? Trust has worked fine for a good amount of time for us free software people, but we have to remember that due our popularity a lot of unwanted people are also among us.

    I would assume that there is some testing involved and that they would require source as well.

    Haven't looked into it though, so I could be wrong.

    q

    --
    "PROFANITY is the inevitable literary crutch of the inarticulate MOTHER FUCKER." -- some PC user
  88. You need to get laid by rambone · · Score: 1
    *jumping up and down* Oh my GOD!!!!!!

    Down Trigger, its just korn shell fer christs sake.

    The Kennedy assassination is still unsolved. Aliens at Roswell are still unconfirmed.

    Zsh is miles above korn anyway - AT&T is a day late and a dollar short.

    1. Re:You need to get laid by Kronovohr · · Score: 1

      Maybe so, but around here there's only cows. I ain't goin' there lol Anyways, I've always admired the korn shell. I'm just glad to see that this has finally happened.

  89. All I can say is... by Kronovohr · · Score: 1

    w00h000000000000!!!!!!!!!!!!!!!!!!!!!!!!!!! *jumping up and down* Oh my GOD!!!!!! w00h0000000000!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!! *throwing stuff in celebration* errr...I mean... This is great! I'm glad to see this step being taken for such a fine shell.

  90. Use ZSH (was Re:Bourne Again Korn Shell?) by opk · · Score: 1
    > I think what we need is a ksh with readline support added.

    If you use Zsh, you'll in effect have that. Zsh doesn't actually use readline but it's builtin line editor is better and atleast as easy to use as readline.

    Zsh will run virtually all your ksh scripts. It has builtin floating point so you don't need to run bc in a co-process. It has co-processes too though, and in the latest version, there's a module to create a pseudo-tty which is great if you want to run a program that wants a tty in a coprocess. It really is way more powerful than either ksh or bash. With the new completion system, I can get things done much more quickly than in any other shell.

  91. moderate parent up and tell tacofool! by Jesus+Christ · · Score: 1
    That's a really cool idea. In fact, I'm really amazed that it hasn't been done before. I think the quality of the polls lately has been a little lacking. I hope Tacofool does this shell poll.

    But we all know that, ignoring the mandatory joke choice, 90% of people will choose bash. And it's not just the Linux users. I run *BSD and I use bash. Because I like bourne, and bash is bourne with so much more.

    I'd also be interested in seeing a poll for the Linuxers on which distro they use. But it'd probably be pretty inaccurate, because apparently in some Slashdot circles running a commercial distro, especially Red Hat, is seen as being nearly as bad as running Windows. So everyone would choose either Debian or "my own l337 custom distro". ;-)

    It'd be cool if each of the different Slashdot "sections" (BSD, Linux, YRO) could have their own polls. I'd love to see some BSD-related polls, but they would never make the main poll because of the Linux-centricity of the site (don't flame me, just admit I'm right).

    That doesn't sound too hard to implement, either. Isn't it just another Slashbox, linked to a special comments page? Whaddaya say, Taco?

    I am the Lord.

    --

    I am the Lord.
    God Hates Moderators.

  92. Does anybody want a REXX shell? by Atev · · Score: 1

    Just to stir up the conversation and to get offtopic:

    Does anybody know of a decent REXX shell? I kinda miss this...

    --
    The danger from computers is not that they will eventually get as smart as men, but we will meanwhile agree to meet them
  93. zsh rocks by Anonymous Coward · · Score: 2

    Type "man zshexpn" if you don't believe me.

    Is there any other shell where you can do things like this:

    ls -l **/*(.m-7)

    For you non-zshers, that glob means "expand recursively, matching plain files only, that have been modified within 7 days". And of course you can hit TAB to have the glob expand in place for your viewing pleasure.

  94. I learned Korn first by Anonymous Coward · · Score: 2

    and consequently I've never really learned Bash.

    Nice to hear it's source code is available.

    BTW It's been a free non-commercial download for years already.....

  95. Agreed. by Brian+Knotts · · Score: 2
    I used to use bash, when I was a less frequent UNIX user, but got hooked on tcsh under Solaris. Now, I only use bash for occasional shell scripting. As for ksh, I avoid it all together. Still a good thing to see the source coming out though. The more shells, the merrier. To each his own.

    BTW, there are some really cool .tcshrc files on dotfiles.com. Check out the [gjvc] .tcshrc-* tarball!

    New XFMail home page

  96. Re:Bourne Again Korn Shell? by Ian+Bicking · · Score: 2
    Where have you been for the last decade? Perl killed shell scripting for non-trivial automation years ago.
    So you've chsh -s /usr/perl ? I know I'd never do such a thing.

    I spend a lot of time in the shell, writing what amounts to very small scripts (piping, substitution, etc) that never make it past the interactive command line. And sometimes, after writing the same thing many times, I make a script of it.

    And it's so very easy to write a script, because I've been writing the same thing on the command line. The transition is nearly seemless. A shell is a direct connection to Un*x commands, with only a thin veneer of control structures and variables.

    I'm sure there are interactive versions/frontends to perl, but I haven't personally seen them. bash is always pleasantly interactive, always present, nearly standard, has a low syntactic burden for its intended realm, and allows me to program interactively. (why would anyone want a non-interactive interpreted language? At least C has an excuse)

  97. Re:Open Source license by slim · · Score: 2

    He seemed to think that the original still had some features not available in pdksh or elsewhere.

    The single feature which has repeatedly stung people I know, moving from ksh on AIX to bash or pdksh on Linux, is this:

    echo 1 2 3 | read x y z
    echo $z $y $x

    In ksh, the result is "3 2 1".
    In any other shell I've tried, because the "read" occurs in a subprocess with its own environment, $x $y and $z are empty.

    If I'm not busy at some point this week, I might have a look at the ksh source to see whether it treats read differently to other shell builtins...
    --

  98. Three Steps forward 1/2 step back by djKing · · Score: 2

    More source code is good no question, but Yet Another License sigh. I know (and agree) "Those who write/pay for the code get to choose the license." still how much does a custom licence buy you vs the cost of keeping all the licences rules in staight?

    -Peace
    Dave

    --
    Free as in "the Truth shall set you..."
    1. Re:Three Steps forward 1/2 step back by starman97 · · Score: 2

      This license is yet another form of
      'You cant use this source in anyone else's programs but ours'

      That's the real problem with license fragmentation IMO..

      --
      Starman97@Gmail.com (bring it on spammers)
  99. Re:Binaries from everyone accepted? by Evangelion · · Score: 2

    malicious newbie

    Wouldn't someone who is going to hack the source code to a shell be a bit more than a 'newbie' ?

    We're not talking script-kiddie activity here...

  100. tcsh most popular shell by acb · · Score: 2

    Everywhere I've seen that's not an ancient all-commercial SVR4 UNIX or somesuch, tcsh has been installed. In most cases it is the default shell (though bash is making inroads). By comparison, zsh is usually not installed and seldom one of the standard shells (which is a pity, as it's much more capable than the others).

  101. Advantages over zsh? by acb · · Score: 2

    Now that ksh is released, is there any reason to choose it over zsh? Does it have any compelling features that may differentiate it from the open-source products that arose in its absence, or is it just a curious historical document?

  102. Re:Bourne Again Korn Shell? by logicTrAp · · Score: 2

    ksh actually already has much of what you would consider to be readline support. See my other comment for info on how to enable it.

  103. Re:Pushd/popd, !-3, and arrow keys by Guy+Harris · · Score: 2
    That's what I detest most about ksh for interactive use. I tolerate ksh, but I sure don't like it.

    I assume you're referring to the lack of the items in your subject line; I have, in my .kshrc, pushd/popd shell functions written by Fletcher Mattox (at the University of Texas at Austin). I don't personally miss ! history or arrow keys, but others might.

    I write my shell scripts for /bin/sh now.

    ...as do I, as there's no guarantee that another machine will have any shell other than /bin/sh.

  104. Re:Pushd/popd, !-3, and arrow keys by Guy+Harris · · Score: 2
    I don't personally miss ! history or arrow keys, but others might.

    ...but I personally dislike I-search (interactive search or incremental search, whatever the "I" stands for), which is why I personally prefer ksh to bash (and to pdksh). Others may like I-search, in which case they might prefer bash or pdksh.

  105. Re:Bourne Again Korn Shell? by Guy+Harris · · Score: 2
    Interesting. with zsh, |& is a pipe which takes both stdout and stderr

    I.e., it's just like |& in the C shell? (|& isn't a zsh invention.)

    I was surprised to read that ksh does it differently

    Given that, in the Bourne shell (and compatible shells such as ksh and bash), you send both the standard output and standard error somewhere by doing

    foo >/tmp/file 2>&1

    or

    foo 2>&1 | bar

    it's not necessarily surprising that bash doesn't use (or need) |& and that ksh uses it for something else.

  106. Re:Pushd/popd, !-3, and arrow keys by Guy+Harris · · Score: 2
    It has all three forms of history, !-history, fcedit and arrows/I-search.

    Does it have all four forms of history, including the fourth, non-I-search (of the sort ksh has, i.e. type control-R - yes, I want EMACS-style commands - fill in the string for which to search, and then hit the Enter key)?

  107. Thanks! by Bruce+Perens · · Score: 2
    That's very nice of you guys. I try. But remember that there are about 500 people working on Debian these days, and there were at least 200 when I was project leader. So there are a lot of quiet people out there who are the real heroes.

    Thanks

    Bruce

  108. There is a psh (perl shell) by kcurrie · · Score: 2

    There is a perl shell, I haven't tried it but it looks interesting. Look here:
    http://www.focusresearch.com/gregor/psh/

    Description reads as follows:

    The Perl Shell is a shell that combines the interactive nature of a Unix shell with the power of Perl. The goal is to eventually have a full featured shell that behaves as expected for
    normal shell activity. But, the Perl Shell will use Perl syntax and functionality for for control-flow statements and other things.

    --
    -- I speak only for myself.
  109. Binaries from everyone accepted? by doomy · · Score: 2


    If you build
    binaries for new architectures, and send them to us, we can add them to the download site.


    I see a problem with this. What if a malicious newbie put some equally nasty routines in their source code and sent them the binaries? Trust has worked fine for a good amount of time for us free software people, but we have to remember that due our popularity a lot of unwanted people are also among us.
    --

    --
    ...free your source and the rest would follow...
  110. Pushd/popd, !-3, and arrow keys by A+nonymous+Coward · · Score: 2

    That's what I detest most about ksh for interactive use. I tolerate ksh, but I sure don't like it. Only thing worse is csh :-)

    I have also had shell scripts allegedly written for ksh (#!/bin/ksh) which worked on most machines but not all (we use Solaris, SunOS, AIX 3/4, HP-UX, etc etc etc).

    I write my shell scripts for /bin/sh now. I have been bitten too often by incompatibilities.

    --

  111. License by Detritus · · Score: 2
    From http://www.kornshell.com/software/

    AT&T has released free source and binaries of KornShell for non-commerical and educational use.

    Maybe I didn't look at the right web page. The license displayed on the download page is confusing. I didn't see a restriction to non-commercial and educational use in that license. Can anyone clarify the situation?

    --
    Mea navis aericumbens anguillis abundat
    1. Re:License by hla · · Score: 2
      I believe that most of kornshell.com is as yet unchanged. The Korn shell has been available here in binary form for individual use. There are still some references to this older license, and it stopped at least me from using it for my own tools at work.

      The new license is supposed to relax this requirement, and to get rid of the complex deal with gtl inc - in my view an almost purely legal entity created to handle licensing on behalf of the multiple owners of the at&t software -- AT&T+NCR+Lucent(bell labs)!!!

      -- Henk Langeveld

      --
      change is inevitable ... change i3 !nevitable ... change i3 inevitable cbange i3 !n
  112. do we really need this anymore? by jetson123 · · Score: 2

    A few years ago, when awk, shell, and Motif, were the only games in town, that would have been great news. I used to write a lot of scripts in awk and shell. But these days, almost every machine has Perl, and you can get Tcl/Tk and Perl/Tk easily. Those tools are hardly without flaws, but for day-to-day scripting, I prefer them greatly to anything shell based.

  113. Re:Bourne Again Korn Shell? by warpeightbot · · Score: 2
    Where have you been for the last decade? Perl killed shell scripting for non-trivial automation years ago.
    Exqueeze me??

    Perl is great when you have megagobs of memory and storage to throw around. It won't, however, fit onto a floppy disk; the perl5 package (just perl itself, we're not even talking tcl/tk here) is 13mb. That's a whole box of floppy disks.

    No, dude, the shell is NOT dead. There is NO substitute for #!/bin/sh when space gets tight and the rubber really meets the road. Same reason you don't even see vi on a rescue disk anymore, it's pico. Unix the old fashioned way. Tight as a Scot's purse and sharper than his tongue.

    Glenn Stone
    Clan Gordon

  114. Re:Open Source license by Jburkholder · · Score: 2
    Nope, that is user 3872 which appears to be the real Bruce. The fake Bruce is 123221. This identity theft bullshit got really old fast, but at least you can check out the user info to see if it looks like the real article.

    And Bruce is also my hero. No shit! I was just installing Slink on a box today and it's really cool to see a familiar name pop up that I see everyday (almost) on /.

  115. Re:Ahhh... the Korn Shell... but is it too late? by Wah · · Score: 2

    who would expect Bruce Perens to misspell his last name? mod this to -1 so it becomes the default.

    --

    --
    +&x
  116. Re:Ahhh... the Korn Shell... but is it too late? by costas · · Score: 2

    I hate to reply to my own post, but I managed to dig up the comp.os.unix.shell FAQ posting on shell comparisons: here.

    Definetely worth a look for those shopping for a shell...

    engineers never lie; we just approximate the truth.

  117. Slashdot Poll by Greg+Koenig · · Score: 2

    I just checked and can't believe that there hasn't been one, but I couldn't locate a Slashdot Poll for "Favorite Shell". If this hasn't been a poll item before, it might be interesting to do one for this.

  118. Commendations by Kris+Magnusson · · Score: 2
    It's not easy for corporate managers to let go of years of attachment. It's been a long time coming, but better late than never. I commend AT&T for releasing the Korn shell under an open source license agreement.

    Kris Magnusson
    Open Source Architect
    Novell, Inc.

    --
    "I thought I could organize freedom. How Scandinavian of me."
  119. Re:Bourne Again Korn Shell? by rambone · · Score: 2
    readline doesn't do much for non-interactive scripts.

    Where have you been for the last decade? Perl killed shell scripting for non-trivial automation years ago.

  120. Yes. by rambone · · Score: 2

    tcsh is a derivative of csh, the most ill-conceived shell available.

  121. not microsoft nmake by Anonymous Coward · · Score: 3

    nmake is not Microsoft nmake, it is the AT&T Bell Labs next-generation make that is way better than standard UNIX make: parallel builds, include file scanning, coshell (instead of fork/exec for every shell command), distributed build support, compiled makefiles, state tracking from one build to the next, etc., etc., etc. When originally developed, it helped cut build times for the AT&T 5ESS switch from 3 days down to 1. http://www.bell-labs.com/project/nmake/

  122. Ahhh... the Korn Shell... but is it too late? by Sun+Tzu · · Score: 3

    Not that I don't like bash, but ksh is what I use at work and what I used for years prior to encountering using Linux for the first time. But perhaps my habits have become restricted to only the functions that the two hold in common. ;)

    I've never really looked closely at the differences between bash and ksh but the question that occurs to me is this: has bash overtaken ksh in functionality to the point that this release is now too late to matter?

    1. Re:Ahhh... the Korn Shell... but is it too late? by costas · · Score: 4

      I am kinda dissappointed noone in this thread has mentioned Zsh.

      Z-Shell is competitive with bash, and IIRC the comp.os.unix.shell FAQ shell comparison it actually has more features than any other shell out there. The new (still unstable version) even has dynamic module loading...

      Plus, it's a (near) drop-in replacement for ksh and can even emulate some csh features for those that like them (search for the cshjunkie* options in the manual :-)


      engineers never lie; we just approximate the truth.

  123. Source for original unix by wnissen · · Score: 3

    This reminds me of the article posted a while ago on the original Unix source code being available. Something like "Open source in history"? Ah , here it is. Anyway, kind of sad that it took this long for one of the best shells to be released. I'm not blaming David Korn, it's a great shell and I'm sure he did what he thought was most responsible for AT&T to do with it. Heck, I'm completely willing to believe that it took this long to convince his bosses that it would be a good idea from a standpoint of actual improvement to the code. I don't see anything on the web site as to why they decided to release , although "free for non-commercial and educational use" is not exactly what I'd call "free source"...

    Walt

    Walt

  124. More information about ksh opensource by dgk · · Score: 3

    I read all the comments related to AT&T's Korn Shell Source Code Released
    posting and decided to provide some additional information that
    should clear up so many misconceptions. I will also try to get a FAQ
    on the kornshell.com site to clarify many other points as well.

    First of all, I would like to thank they authors of bash, pdksh,
    and zsh for their valuable contributions. I have tried to
    provide information on changes to ksh so that these shells
    could add these features in a compatabile way.

    I will respond to some of the comments here:

    1. Too little too late. This may or may not be true, but it
    is irrelevant. At this point, it's too early to make such
    a statement -- the user community will decide. I would have
    prefered to make this OpenSource from the beginning but I did
    not have this option. It has taken a lot of effort to get
    this source released at all. Note that ksh93 is only a
    part of this AT&T open source distribution and that there are
    tools that have no other UNIX/LINUX equivalent.

    2. bash is much better than ksh.
    These comments have no information that would make them
    meaningful without specific examples. What version of ksh
    and what version of bash? I am interested in hearing which
    features of bash are missing from ksh93 (see point #5).

    3. zsh is better than ksh.
    Although zsh has an impressive set of features,
    it is not POSIX compatible making it difficult to write
    portable scripts. I am interested in hearing from zsh
    users what *language features* are missing in ksh93
    (I am aware of most of the interactive enhancements).

    4. tcsh is better than ksh.
    Irrelevant. tcsh is based on csh, which is generally agreed
    not to be a good scriping language. So why compare it?
    See "csh programming considered harmful" by Tom Christiansen
    (http://www.faqs.org/faqs/unix-faq/shell/csh-why not)

    5. There are some features in ksh93i that some users seem to be
    unaware of. Several of these are not in bash, zsh, or pdksh.
    a. File and command name completion (using tab in viraw mode).
    b. Key binding (arrow keys work on most systems by default).
    c. Process substitution, e.g. command1 ( command2 )
    d. Ability to connect to tcp or udp connections using
    /dev/tcp/hostname/portno with redirections.
    e. Complete ANSI-C floating point arithmetic, including
    math functions.
    f. Complete ANSI-C printf formatting with several extensions
    including date/time foratting using %T.
    g. ANSI-C string input using $'...'. (I believe zsh has this).
    h. Associative arrays.
    i. Extended regular expression matching/replacement including
    backreferences for shell variables.
    j. Runtime loading of extensions including builtins.
    There is an API for referencing ksh93 internals.
    k. Active variables. The ability to associate processing
    functions with shell variables (similar to traces in tcl).
    l. Compound objects, useful for implementing data structures.
    m. Reference variables for passing variables by name.
    n. The shell is written as a library that can be reused
    in other commands. For example, dtksh which combines
    ksh93 with X11 and Motif, and tksh which combines
    ksh93 with tcl/tk.

    5. Confusion about the licensing terms.
    The kornshell.com home page hasn't been updated yet so it still
    contains outdated references to commercial and educational
    uses. There is no such distinction. The license does
    allow for commercial distribution of binaries and/or source.
    We do not have OSF certification as of yet, but I do think
    that the license satisfies all of the OpenSource principles.
    The license does not have the GNU GPL restrictions.

    6. nmake is not Microsoft nmake.
    It certainly is not. It is simply the best make program
    that I have every seen. The Makefiles are consice and
    protable. No makefile or dependency generators are needed.
    It can generate both UNIX makefiles and Microsoft nmake
    files for systems that do not have AT&T nmake.

  125. Re:In other news by Greg+Koenig · · Score: 4

    What's really funny is that I've been to USENIX conferences with Dave and he's worn "Korn" T-shirts. I about died the first time I saw him doing this.

    Actually, even more funny was when I was at the USENIX Windows NT symposium a few years ago. The Microsofties were up on stage talking about their Unix toolkit for Windows NT. This includes several common Unix commands (ls, cp, ps, etc.) along with a version of ksh. Dave stood up and went to the microphone and mentioned a few areas of incompatibility with the version of ksh used in the Unix toolkit for Windows NT. The Microsofties, not realizing who they were talking to, kept going back and forth with him, insisting that their version of ksh actually did comply with the AT&T ksh, and sort of implying that Dave (who they still didn't recognize) didn't know what he was talking about. Nearly everybody in the audience was laughing out loud, and eventually somebody let the Microsofties in on who exactly they were talking to.

  126. Bourne Again Korn Shell? by gjt · · Score: 4
    I use bash as my interactive shell.

    But for scripting, I always use ksh (on Solaris). Why? The ksh syntax is a superset of the original Bourne Shell, and therefore pretty much a superset of the Bourne Again Shell.

    bash primarily adds readline support which makes it super-easy to use interactively. readline doesn't do much for non-interactive scripts.

    In the Korn shell, the typeset comand provides a number of extra features for things such as presenting non-decimal numbers, and converting from upper case text to lower case and vice versa.

    Another way cool feature of ksh is `|&` which is a way of getting a pipe to a background process. I guess they call it co-processes, but it really make a client/server process. I guess you can also call it a bi-directional pipe. You can then use `read` and `print` to send and receive stuff from the "server" started with `|&`. For example, if I need to do floating point math, I can start `bc` in the background with `|&`.

    I think what we need is a ksh with readline support added. Bourne Again Korn Shell! (Maybe spell "Bourne" as "Born)

  127. Open Source license by Bruce+Perens · · Score: 5
    We reviewed this on the license-discuss mailing list a long time ago. Everybody in the discussion at that time concluded that it was an Open Source license, although I don't think anyone was as happy with it as they would be with some of our simpler and less restrictive licenses. I doubt that OSI will certify it but that's up to them. They tend to reject most termination clauses.

    I discussed the ksh source release with David Korn a while back, including the point that it was probably too late. He seemed to think that the original still had some features not available in pdksh or elsewhere.

    Thanks

    Bruce

  128. But not DFSG free? by Carl · · Score: 5
    Debian legal doesn't seem to consider this license DFSG free. See the thread starting at http://www.debia n.org/Lists-Archives/debian-legal-0003/msg00009.ht ml. Not all messages are archived yet but the main points are:
    • a "you must monitor our web site" clause
    • a "you are responsible for ensuring that people you distribute the software to comply with this license" clause
    • a "you must contact us if you distribute patches" clause
    • an unilateral-termination clause
    • a "you must adhere to U.S. law" clause
    The 'ensure that others comply' and the 'Termination clause' seem very non-free, the others are only very annoying (especialy if you don't have easy internet access and live outside the US).
  129. In other news by Greyfox · · Score: 5

    AT&T shares fell in early trading after the popular band "Korn" announced a lawsuit for trademark infringement. "It's obvious they're using our name. Who would have thought of spelling corn with a "K" except us?" commented a lawyer for the band. AT&T declined to comment on the suit.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?