still@usceast.UUCP (Bert Still) (05/15/88)
Ok, it's been a little while since we had a real good "religious war" here in comp.unix.wizards, and I have this strange feeling that this might turn into one of those... however, here we go. (In the classic style of debate.) WHEREAS a significant number of users on System V based UN*X machines use the Berkeley shell (hereafter, ``csh''), WHEREAS the style of csh more closely resembles the C language (hence the name of the shell) than the Bourne or Korn shells, and WHEREAS many distributors of System V based UN*X provide csh in their standard distribution (for example NCR and Hewlett Packard), be it RESOLVED that csh should be included as a part of System V in the same sense that the ``vi'' editor, and TCP/IP have been included. (The preceding remark was for the benefit of those who enjoy a good debate. I know that I do. :-) TRANSLATION: I have heard several vendors of System V based UN*X state that the Berkeley shell is not provided as a part of their distribution because they do not perceive a need in the user community for csh. I would like to see what the people of the net, who use UN*X based systems on a daily basis, think of this issue. And, since I started this discussion, I will provide a first round. As I'm certain will be obvious, I am in a university environment where I use both BSD and System V environments (in user and/or systems administrator roles, on several different machines). Of all of the other users on these systems (about 50 people), I count only 6 people who actually use the Bourne shell for most (or all) of their work. Incidentally, as far as I know, no one uses the Korn shell. (I checked the passwd and accounting files just to be sure.) While I realize that this may not be typical of all installations, I believe it is typical of a university environment, and unless I am badly mistaken the number of UN*X installations at universities outnumbers the number of commercial installations (note that at the moment I am discounting the PC market: Xenix, System V/AT, etc. because this is a different market, but that I am including workstations). Anyone out there have an opinion? Bert still@cs.scarolina.edu Systems Manager Math/Stat Computation Center University of South Carolina
jeff@polyslo.UUCP (Skippy The Wonder Hacker) (05/15/88)
The system that I run is the major unix machine for the university. Here is the breakdown on shells: csh(actually tcsh): 740 sh: 5 Of the 5 that use /bin/sh, two work for AT&T, and one is a dedicated version 7 hacker. Jeff Weinstein Computer Systems Lab Cal Poly State Univ jeff@polyslo.uucp ucbvax!voder!polyslo!jeff
karish@denali.stanford.edu (karish) (05/16/88)
In article <2601@usceast.UUCP> still@cs.scarolina.edu (Bert Still) writes: >WHEREAS the style of csh more closely resembles the C language (hence the name > of the shell) than the Bourne or Korn shells, and This is true, in a formal sense. This feature should be useful mostly in writing scripts. Unfortunately, it is still painful to get the syntax right, with the correct quotes, backslashes, etc. And csh execution (startup) is still slow. >Incidentally, as far as I know, no one >uses the Korn shell. How many of your systems have ksh installed? I'm trying out ksh now, after four years of using csh exclusively (interactively). The transition was easy. I don't feel anywhere near as restricted as I do when I use sh interactively. The only thing I miss is the '!$' construct; I suspect that there's a way to do this under ksh, but I haven't found it yet. The history, command line editing, and filename expansion previewing features are superior to what csh offers, and in ways that make ksh especially useful for naive users. The key is that you always can see the whole command line before you execute it. This is much safer than the csh history mechanism, which involves stabs in the dark using an ed-like command set, with the added complexity of avoiding interference with the shell's interpretation of special characters. It is possible to do command-line editing of multi-line command constructs. Since ksh is a superset of sh, this makes ksh a very powerful tool for prototyping fast, portable shell scripts. Bourne shell scripts so produced are backwards compatible with all existing U*ix systems; adding csh to the Sytem V package would only help new buyers. Unfortunately, AT&T isn't marketing ksh in a way that encourages its adoption as a standard. I'd like to see it bundled with System V, instead of being an extra-cost option from the Toolchest. The price of a re-distribution license is reportedly about $20,000, which is too high, until there's a demand for the program. The demand won't be there until people can try the program, and we go around and around. Some of Korn's claims for the program are a bit exaggerated. It's still a good piece of work, and a worthy replacement for csh. Chuck Karish ARPA: karish@denali.stanford.edu BITNET: karish%denali@forsythe.stanford.edu UUCP: {decvax,hplabs!hpda}!mindcrf!karish paper: 1825 California St. #5 Mountain View, CA 94041
gwyn@brl-smoke.ARPA (Doug Gwyn ) (05/16/88)
In article <2601@usceast.UUCP> still@cs.scarolina.edu (Bert Still) writes: >RESOLVED that csh should be included as a part of System V in the same sense > that the ``vi'' editor, and TCP/IP have been included. TCP/IP is available as an extra-cost "add-on", last I heard. That might be appropriate for csh also, assuming that AT&T wants to undertake its maintenance (I don't know why they would). csh's main problem is that it essentially duplicates Bourne shell functionality in an incompatible way. If there are two "supported" command language interpreters for shell scripts, then one has to flag every script with some indication of the interpreter to be applied (e.g. the god- awful #! kludge). I note that most csh ports to System V implementations that I've seen have gotten this wrong... "C-like" is a joke. Csh hardly resembles C, and to the extent that it does, that is not a particular advantage for a command language interpreter. >... unless I am badly mistaken the number of UN*X installations at >universities outnumbers the number of commercial installations ... You're badly mistaken, even ruling out the vast majority of counterexamples as you did. Also, nothing is proved by your informal sampling. There are lots of reasons why people at your site might be using csh instead of ksh, BRL Bourne sh, etc. At our site several people have switched from csh to the BRL sh, on both 4.3BSD- and System V-based systems.
avr@mtgzz.UUCP (XMRP50000[jcm]-a.v.reed) (05/16/88)
Why would any sane person wish to use csh when they can use ksh? Adam Reed (mtgzz!avr)
ekrell@hector.UUCP (Eduardo Krell) (05/16/88)
In article <77@denali.stanford.edu> karish@denali.stanford.edu (Chuck Karish) writes: (about ksh) >The only thing I >miss is the '!$' construct; I suspect that there's a way to do this >under ksh, but I haven't found it yet. In vi mode, use ESC_ (that is, escape key followed by an underscore). Eduardo Krell AT&T Bell Laboratories, Murray Hill, NJ UUCP: {ihnp4,ucbvax}!ulysses!ekrell ARPA: ekrell@ulysses.att.com
donn@hpfcdonn.HP.COM (Donn Terry) (05/16/88)
At least HP supports ksh with their product (biased posting warning :-) ). Actually if it were properly named it would be tksh (has some of the TENEX filename completion stuff plus expands $NAME at the same time; wonderful for editing environment variables: just expand the statement PATH=$PATH and then edit the result!) Our csh is also tcsh. Internal hue-and-cry got ksh supported. Of the 3 major shells (sh, csh, ksh) I strongly believe that ksh is the best user interface, and that it should be widely available. It betters everything that csh does, and is sh compatible thus allowing highly portable scripts. You need only learn sh to write scripts and still use a friendly interface. $_ is the same thing as !$ for keyboard input (and something else to the command that's running). My contribution to the debate: don't worry about csh; get ksh in the package instead. If you don't believe me, try it a while. Donn Terry HP, Ft. Collins
avr@mtgzz.UUCP (XMRP50000[jcm]-a.v.reed) (05/17/88)
In article <77@denali.stanford.edu>, karish@denali.stanford.edu (karish) writes: > I'm trying out ksh now, after four years of using csh exclusively > (interactively). The transition was easy. I don't feel anywhere near > as restricted as I do when I use sh interactively. The only thing I > miss is the '!$' construct; I suspect that there's a way to do this > under ksh, but I haven't found it yet. In ksh, the last argument of the previous line is "$_". To get the entire previous line, use commands appropriate to your editing mode. I use vi mode, so to get the previous line I type "<ESC>-": <ESC> to escape into command mode, and - to get the previous line. You can also use the search capabilities of your editor, eg in vi mode, /cpio<RET> gets you the last command containing the regular expression "cpio". Much more general than anything you can do in csh, and you don't even need to learn a set of csh-specific editing commands! Adam Reed (mtgzz!avr)
sef@csun.UUCP (Sean Fagan) (05/17/88)
In article <77@denali.stanford.edu> karish@denali.stanford.edu (Chuck Karish) writes: >In article <2601@usceast.UUCP> still@cs.scarolina.edu (Bert Still) writes: >>[says that we all want csh] >>Incidentally, as far as I know, no one >>uses the Korn shell. >How many of your systems have ksh installed? Good point. *I* prefer ksh, under SysV. I also have access to a system which has csh (no ksh, alas), and decided that I definitely do prefer ksh under SysV than csh. I haven't had a chance to play with ksh under BSD, so I can't say anything about that. >The only thing I >miss is the '!$' construct; I suspect that there's a way to do this >under ksh, but I haven't found it yet. For your information, try '$_'. At least in my version, it is the last word of the previous (command only?) line. Both vi mode and emacs mode will allow ESC-_ to do the expansion (although vi mode may require you to go back into insert mode). >[says lots of good things about ksh] I agree. ksh is my shell of choice. Anybody know how well it works on job-control systems? >Chuck Karish ARPA: karish@denali.stanford.edu -- Sean Fagan (818) 885-2790 uucp: {ihnp4,hplabs,psivax}!csun!sef CSUN Computer Center BITNET: 1GTLSEF@CALSTATE Northridge, CA 91330 DOMAIN: sef@CSUN.EDU "I just build fast machines." -- S. Cray
davidsen@steinmetz.ge.com (William E. Davidsen Jr) (05/17/88)
In article <2601@usceast.UUCP> still@cs.scarolina.edu (Bert Still) writes: | | Ok, it's been a little while since we had a real good "religious war" here in | comp.unix.wizards, and I have this strange feeling that this might turn into | one of those... however, here we go. (In the classic style of debate.) In spite of the fact that I would never use csh for anything, having gotten spoiled by ksh, I think that csh would be a good addition. I think the reason it's used at universities is that (a) the /bin/sh with BSD hasn't been upgraded in years (some vendors do, I realize), and (b) the system administrator likes it so it's the default, and he tells the student users "everybody uses it." If you have a class in shell programming you may see defections to a new version of sh, and lots to ksh. Even some of our rabid csh fans have changed, since they were forced to use it for some script programming and liked it. If you see loops which look like as being a benefit, and don't have a modern version of sh with functions, alias, and history, then use csh. If you have a modern version of sh (or ksh) and need to use io redirection beyond the most basic, use sh or ksh If you have people who can't use anything beyond a menu use vsh, and if you have people who like DOS use dsh. This is why they make blonds and brunettes, so everyone can find what they like, and have an alternative if they want a changed of pace ;-). -- bill davidsen (wedu@ge-crd.arpa) {uunet | philabs | seismo}!steinmetz!crdos1!davidsen "Stupidity, like virtue, is its own reward" -me
john@frog.UUCP (John Woods) (05/17/88)
In article <77@denali.stanford.edu>, karish@denali.stanford.edu (karish) writes: > In article <2601@usceast.UUCP> still@cs.scarolina.edu (Bert Still) writes: > >Incidentally, as far as I know, no one > >uses the Korn shell. The UNOS operating system is now shipped with ksh as the standard command interpreter (since ksh can be used without a UNIX(R) license). > The only thing I miss is the '!$' construct; Perhaps there are subtleties in the csh !$ construct that I am missing, but in ksh, $_ is the last word of the previous command line. In emacs mode, ESC . (period) expands immediately into the last word. > Unfortunately, AT&T isn't marketing ksh in a way that encourages its > adoption as a standard. I'd like to see it bundled with System V, > instead of being an extra-cost option from the Toolchest. The price > of a re-distribution license is reportedly about $20,000, which is too > high, until there's a demand for the program. The demand won't be > there until people can try the program, and we go around and around. For an operating system vendor, $20,000 for the right to distribute an infinite number of copies of an incredibly useful program ought to be quite attractive (though I guess traditional UNIX vendors might figure "it's not THAT much better than plain old sh", or worse, "How could anything be better than csh?" ULCH!). And for mid-sized user communities, the $2,000 source- and-site-license doesn't seem that bad, either. > Some of Korn's claims for the program are a bit exaggerated. It's > still a good piece of work, and a worthy replacement for csh. Amen! -- John Woods, Charles River Data Systems, Framingham MA, (617) 626-1101 ...!decvax!frog!john, john@frog.UUCP, ...!mit-eddie!jfw, jfw@eddie.mit.edu "Cutting the space budget really restores my faith in humanity. It eliminates dreams, goals, and ideals and lets us get straight to the business of hate, debauchery, and self-annihilation." -- Johnny Hart
sullivan@vsi.UUCP (Michael T Sullivan) (05/17/88)
In article <2593@polyslo.UUCP>, jeff@polyslo.UUCP (Skippy The Wonder Hacker) writes: > > The system that I run is the major unix machine for the university. > Here is the breakdown on shells: > > csh(actually tcsh): 740 > sh: 5 When I was going to school (UCSB, just down the road a ways :-) I'd say most if not all students were using csh. It was the default shell and we didn't know any better to change it or even if we wanted to. I took a class my last year, though, in which we went over sh and compared it to csh. sh came out on top although it's been a few years since the class and the last time I used csh so I can't remember the reasons given (meaning: don't flame me). Students are sheep (usually). -- Michael Sullivan {uunet|attmail}!vsi!sullivan sullivan@vsi.com HE V MTL Anybody out there remember Max Webster?
friedl@vsi.UUCP (Stephen J. Friedl) (05/17/88)
In article <668@vsi.UUCP>, sullivan@vsi.UUCP (Michael T Sullivan) writes: < In article <2593@polyslo.UUCP>, jeff@polyslo.UUCP (Skippy The Wonder Hacker) writes: < > < > The system that I run is the major unix machine for the university. < > Here is the breakdown on shells: < > < > csh(actually tcsh): 740 < > sh: 5 < < When I was going to school (UCSB, just down the road a ways :-) I'd say < most if not all students were using csh. It was the default shell and < we didn't know any better to change it or even if we wanted to. Also keep in mind that many 4.2 systems don't have the Sys V /bin/sh, which is a lot nicer than UCB /bin/sh. Sure, there is no history, but shell functions are really wonderful. I use sh and ksh all the time, but when I login to the VAX back at school I lose my mind. -- Steve Friedl V-Systems, Inc. (714) 545-6442 3B2-kind-of-guy friedl@vsi.com {backbones}!vsi.com!friedl attmail!vsi!friedl
ekrell@hector.UUCP (Eduardo Krell) (05/17/88)
In article <1262@csun.UUCP> sef@csun.UUCP (Sean Fagan) writes: >I agree. ksh is my shell of choice. Anybody know how well it works on >job-control systems? Just as good as csh. We link ksh to /bin/sh in all our Vaxen and Suns (running 4.3 BSD and SunOS), and a quick look at /etc/passwd finds 1 user who uses csh out of some 300. Eduardo Krell AT&T Bell Laboratories, Murray Hill, NJ UUCP: {ihnp4,ucbvax}!ulysses!ekrell ARPA: ekrell@ulysses.att.com
ado@elsie.UUCP (Arthur David Olson) (05/17/88)
> > The only thing I miss is the '!$' construct; > > Perhaps there are subtleties in the csh !$ construct that I am missing, but > in ksh, $_ is the last word of the previous command line. In emacs mode, > ESC . (period) expands immediately into the last word. And, as noted in someone else's earlier article, ESC _ works in vi mode. There are, though, subtleties with $_: Script started on Tue May 17 10:24:53 1988 $ cd /tmp $ tee a b c < /dev/null $ /bin/csh % echo ? a b c >>>> % echo !$ echo ? >>>> a b c % exit $ /etc/ksh $ echo ? a b c >>>> $ echo $_ >>>> c $ exit $ exit script done on Tue May 17 10:25:36 1988 -- ado@ncifcrf.gov ADO is a trademark of Ampex.
krohn@u1100a.UUCP (Eric Krohn) (05/17/88)
In article <77@denali.stanford.edu> karish@denali.stanford.edu (Chuck Karish) writes:
] Unfortunately, AT&T isn't marketing ksh in a way that encourages its
] adoption as a standard. I'd like to see it bundled with System V,
] instead of being an extra-cost option from the Toolchest.
I read a newsletter from (I think) the New York City /usr/group chapter
which summarized David Korn's recent talk at one of their meetings.
The article claimed that ksh would be in the next release of System V.
Anyone know the facts?
--
--
Eric J. Krohn
krohn@ctt.ctt.bellcore.com or {allegra,bellcore,ihnp4}!u1100a!krohn
Bell Communications Research, 444 Hoes Ln, Piscataway, NJ 08854
davidsen@steinmetz.ge.com (William E. Davidsen Jr) (05/18/88)
In article <1262@csun.UUCP> sef@csun.UUCP (Sean Fagan) writes: | I agree. ksh is my shell of choice. Anybody know how well it works on | job-control systems? works fine. I'm not a big user of job control, but I haven't seen an error in the last year or so, nor had any report of it. -- bill davidsen (wedu@ge-crd.arpa) {uunet | philabs | seismo}!steinmetz!crdos1!davidsen "Stupidity, like virtue, is its own reward" -me
sarima@gryphon.CTS.COM (Stan Friesen) (05/18/88)
In article <2601@usceast.UUCP> still@cs.scarolina.edu (Bert Still) writes: > >Ok, it's been a little while since we had a real good "religious war" here in >comp.unix.wizards, and I have this strange feeling that this might turn into >one of those... however, here we go. (In the classic style of debate.) > >RESOLVED that csh should be included as a part of System V in the same sense > that the ``vi'' editor, and TCP/IP have been included. > >TRANSLATION: I have heard several vendors of System V based UN*X state that > the Berkeley shell is not provided as a part of their > distribution because they do not perceive a need in the user > community for csh. > > > Anyone out there have an opinion? I *refuse* to use the Bourne Shell since it lacks a history mechanism, which I consider imperative in an *interactive* shell. The Korn Shell has a history mechanism, so it MAY be acceptible. That is if the history mechanism is easily used. I am somewhat concerned that it does not provide a quick and dirty way of snagging the one or more of the arguments of the previous command though. I find I use that capability in csh more than I use the editing capability. Certainly the *editing* capability in the Korn Shell is very nice. So, all in all, I would prefer to see the C-shell on any system I work on. But I would be willing to at least try the Korn Shell if I had to. -- Sarima Cardolandion sarima@gryphon.CTS.COM aka Stanley Friesen rutgers!marque!gryphon!sarima Sherman Oaks, CA
rsalz@bbn.com (Rich Salz) (05/18/88)
The answers seem to narrow down to: 1. Ksh is best 2. Csh is a crock 3. Csh is friendlier, and looks kinda like C 4. I want to do "this" in the XXXsh, how do I do it? 5. Sh is portable 6. On my system we have ### users of XXXsh, and only # users of XXXsh Can we stop cluttering the net, now? BTW, I would be interested in hearing anyone address the question that was REALLY asked (go read the Subject line...) /rich $alz -- Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.
kre@munnari.oz (Robert Elz) (05/18/88)
In article <4095@mtgzz.UUCP>, avr@mtgzz.UUCP (XMRP50000[jcm]-a.v.reed) writes: > Why would any sane person wish to use csh when they can use ksh? Because (apart from not necessarily being able to use ksh), ksh doesn't do everything that csh does quite as well. It certainly does a lot of things better, but the few bits and pices lacking seem to be enough of a drawback to people who have used csh for a long time that the other advantages of ksh just don't overcome them. If you've never really used csh, that is, if you've never once done cmd !?ff?:% !?gg?:% which I think isn't trivial in ksh, then you probably would find ksh perfectly adequate. In <1072@X.UUCP> john@frog.UUCP (John Woods) writes: > Perhaps there are subtleties in the csh !$ construct that I am missing, but > in ksh, $_ is the last word of the previous command line. No, as Arthur Olson (ado@elsie.UUCP, aka ado@ncifcrf.gov) pointed out in <8063@elsie.UUCP>, $_ in ksh is the last arg passed to the last command that you executed (ie: argv[argc-1]), it has little to do with the command line, which is what !$ references. Ado's message showed that if the last word on the command line used a shell magic character, ksh's and csh's results are quite different. A similar thing happens if the previous command line ended with output (or input) redirection cat a b c > d vi !$ is quite different in effect (in csh) from cat a b c > d vi $_ in ksh. Note, neither of these interpretations is better in all circumstances, you'll find that cc foo.c & vi !$ is not particularly useful, whereas cc foo.c & vi $_ probably would be, if only it would set $_ at all, rather than just leaving it unchanged. However, csh users tend to be used to the csh !$ construct, and $_ just isn't what is wanted most of the time. Like David Elliott (dce@mips.COM) in <2199@quacky.mips.COM>, I have found personally (when I've used ksh on occasions) that csh's history operators are much easier to use for quick substitutions, than ksh's editing, I often use a sequence a bit like mv A B cp !$ !^ which is a lot harder to accomplish in ksh. Aside: I know I could define a ksh (or SysV sh) function to do this, as I could define a csh alias, or for that matter, just write a sh script, but I don't want a new command, I don't do it often enough to bother remembering a new name, I really want to type two commands (which aren't always cp & mv), I just don't want to have to type the path names (A and B are often fairly lengthy). I also use the { } csh operator a LOT, though I thought that it had been added to some version of ksh? I wish that someone (Korn, or almost anyone else) would add these few remaining trivialities to ksh (I could actually do without the ^ and !!:s/// stuff, just give access to the !{^,$,[0-9]*,!} operators, probably as variables of some form, maybe $^ for !^ $=n for !n $= for !! $% for !$ (the real !$, rather than $_ which should remain) and add {}, I could even accept $( and $), then I might be able to justify spending the $US3000 that ksh costs, or did last time I checked (which is a little amazing, considering that I can get the whole rest of unix, including utilities for $US800, again, the last time I checked, and under an academic licence of course). Until then, ksh isn't an option at all on most of our hosts, it exists only on a couple where the vendor happens to supply it. kre kre@munnari.oz.au ps: if ksh really does set the env variable '_' to be the full path of the command executed, which I have no evidence to support, how would a ksh script access this information, since $_ already has a defined meaning? Seems a little odd, even if putting this kind of thing in the shell was the right place to put it, which it isn't (every program is, or could be, a shell, so put it in the shell means put it everywhere).
rja@edison.GE.COM (rja) (05/18/88)
> > I agree. ksh is my shell of choice. Anybody know how well it works on > job-control systems? > > >Chuck Karish ARPA: karish@denali.stanford.edu > -- I also would use ksh if I had a choice. Since the system I'm using is running 4.2 BSD, I'm using csh instead of the (unimproved for a long time) sh supplied on the system. I especially like being able to tell ksh to use emacs mode with the command line. I've found job control with ksh to be as good or better than that with 4.x BSD systems' csh. I've only used ksh on AT&T 3Bx machines, but have been especially pleased with layers running on a AT&T 5620 bit-mapped terminal since it lets you have several windows into different jobs on one screen. Also, the ksh I was using supported the fg and bg commands that csh has. Friends in grad school at U.Va. claim that some/all of the job control commands are "extra cost options" that their systems don't have available. I don't know myself first hand if that is true. I do think that ideally people would get to use their own shell, be it vsh, dsh, sh, csh, ksh, or whatever fits the user.... ______________________________________________________________________________ rja@edison.GE.COM or ...uunet!virginia!edison!rja ______________________________________________________________________________
lvc@tut.cis.ohio-state.edu (Lawrence V. Cipriani) (05/18/88)
In article <4097@mtgzz.UUCP> avr@mtgzz.UUCP (XMRP50000[jcm]-a.v.reed) writes: ... >You can also use the search capabilities of your >editor, eg in vi mode, /cpio<RET> gets you the last command >containing the regular expression "cpio". ... ^^^^^^^^^^^^^^^^^^ Nope. Ksh only searchs for the *string* cpio. -- Larry Cipriani, AT&T Network Systems and Ohio State University Domain: lvc@tut.cis.ohio-state.edu Path: ...!cbosgd!osu-cis!tut.cis.ohio-state.edu!lvc (weird but right)
karish@denali.stanford.edu (Chuck Karish) (05/18/88)
In article <744@fig.bbn.com> rsalz@bbn.com (Rich Salz) writes: >Can we stop cluttering the net, now? Sure, right after I make one more comment. >BTW, I would be interested in hearing anyone address the question >that was REALLY asked (go read the Subject line...) Does anyone really think that Sun is going to desert their existing customer base when they merge their OS definition with AT&T's? I expect the first full release of the merged Unix to include csh. Chuck Karish ARPA: karish@denali.stanford.edu BITNET: karish%denali@forsythe.stanford.edu UUCP: {decvax,hplabs!hpda}!mindcrf!karish USPS: 1825 California St. #5 Mountain View, CA 94041
barnett@vdsvax.steinmetz.ge.com (Bruce G. Barnett) (05/18/88)
| Anyone out there have an opinion?
Well - since you asked -
I think sh, csh and ksh should be standard .
(okay - you could rename ksh to sh)
I also think the new make, awk, and pic/ditroff should be standard.
What else? - maybe plot(5).
And the -mm, -ms and -me macro package while we are at it.
If these programs Are standard - forgive my ignorance. We don't have any
V.3 systems here.
The idea of unbundling improvement/upgrades to standard utilities seems silly
to me.
It is difficult enough to keep source code portable between Unicii
But it would be nice to have script and documentation compatibility also.
Points to consider:
o Licensing 'common utility' software per machine
is difficult to enforce in an network/NFS environment unless
the software is CPU locked.
(ditroff is on machines a, b and c. C also has the new make.
A has ksh. B has the new awk. D has ksh, make and awk but no pic.
Now let's see - you have a makefile that needs all four.
And it uses the -mm and -me macros for different sections?
Nope - you can't run it. Sorry.)
o Some people will be hesitant to use a new feature unless
it will always be available. How many AWK scripts use
functions? I wouldn't publish any such scripts because
I don't think many sites have the new awk.
If I knew that all V.4 systems had the new awk/make/sh/roff
features I would not hesitate to use them.
(Will the Open System Foundation version have them? - who knows?)
One more point:
I think the C-shell should be standard.
Why?
Productivity.
NOT because one shell is better than the other.
But because someone whom only knows csh can use the system
WITHOUT any learning curve.
ksh may be the best shell in the world. I haven't learned it
because I Don't Have Time.
This is like telling someone who uses troff to switch to LaTeX.
That may be fine in theory, but when I have to get a paper out by the
end of the week I don't really care how 'superior' one program is over
another. I have to get my work done NOW!
--
Bruce G. Barnett <barnett@ge-crd.ARPA> <barnett@steinmetz.UUCP>
uunet!steinmetz!barnett
ekrell@hector.UUCP (Eduardo Krell) (05/19/88)
In article <762@ambush.UUCP> kimcm@ambush.UUCP writes: >Korn Shell: > - Inadequate automatical scripts (.kshrc, .profile) Excuse me, but how is this "Inadequate"? If you mean the lack of a .logout as in csh, how about trap .logout 0 Eduardo Krell AT&T Bell Laboratories, Murray Hill, NJ UUCP: {ihnp4,ucbvax}!ulysses!ekrell ARPA: ekrell@ulysses.att.com
guy@gorodish.Sun.COM (Guy Harris) (05/19/88)
> I think sh, csh and ksh should be standard . > (okay - you could rename ksh to sh) Well, no, you really can't, not always. There are supposedly a few real live incompatibilities that may break some scripts. > I also think the new make, awk, and pic/ditroff should be standard. > What else? - maybe plot(5). > And the -mm, -ms and -me macro package while we are at it. > > If these programs Are standard - forgive my ignorance. We don't have any > V.3 systems here. The only ones that are standard with S5R3 are: "sh" (obviously), "the new make" if this refers to the S5 "make" (neither "nmake" nor "mk" are part of S5R3), and the "plot" stuff (PLOT(5) describes the format - AT&T calls this man page PLOT(4); according to the S5R3 man pages, the "plot" command is there, under the name of "tplot", and the "plot" library is there, but it supports fewer devices than 4.3BSD does). The new "awk" is standard with S5R3.1. *None* of the formatting stuff is standard with S5R3 of any flavor; this includes "ditroff", "pic", and all the aforementioned macro packages. It's all part of DWB, which provides "-mm" but neither "-ms" nor "-me". Of course, just because AT&T doesn't make something standard with *their* releases doesn't mean everybody else is obliged to unbundle it. They can bundle it, as long as they pay AT&T all the requisite licensing fees for all the code in question (DWB requires a separate license, as does "ksh"; "csh" and "-me" don't, and I guess "-ms" doesn't because it's covered by your base UNIX license, having been a part of older AT&T releases).
guy@gorodish.Sun.COM (Guy Harris) (05/19/88)
> Does anyone really think that Sun is going to desert their > existing customer base when they merge their OS definition with > AT&T's? I expect the first full release of the merged > Unix to include csh. I would expect the first OS release from Sun that is based on the merged UNIX to include "csh" (DISCLAIMER: this is NOT an official policy statement from Sun, it's just what I expect to happen, because our customer base will expect it to be there). This is *not* equivalent to expecting the stuff AT&T ships on the S5R4 source tape to include "csh". Nothing prevents us from adding "csh" to our release if AT&T doesn't put it on the tape. Whether it goes on the tapes AT&T ships is up to AT&T. Whether it goes on the tapes Sun ships is up to Sun. I don't know whether AT&T will put it on their tapes or not; as I said, that's up to AT&T. If you want AT&T to ship it, tell them so.
rcodi@yabbie.rmit.oz (Ian Donaldson) (05/19/88)
From article <10295@ulysses.homer.nj.att.com>, by ekrell@hector.UUCP (Eduardo Krell): > > Just as good as csh. We link ksh to /bin/sh in all our Vaxen and Suns > (running 4.3 BSD and SunOS), and a quick look at /etc/passwd finds 1 > user who uses csh out of some 300. Yes, but how many of these 300 have actually evaluated both shells? I suspect less than 10%. The rest would have just used whatever was going and was advised to them by somebody else, who may or may not have evaluated both shells either. Ian D
wwtz@cgcha.uucp (Wolfgang Wetz) (05/19/88)
In article <4095@mtgzz.UUCP> avr@mtgzz.UUCP (XMRP50000[jcm]-a.v.reed) writes: > >Why would any sane person wish to use csh when they can use ksh? > > Adam Reed (mtgzz!avr) perhaps because the ksh writes back to disk the whole history file after each <return>. Wolfgang Wetz (..!mcvax!cernvax!cgch!wwtz)
ekrell@hector.UUCP (Eduardo Krell) (05/20/88)
In article <770@yabbie.rmit.oz> rcodi@yabbie.UUCP writes: >The rest would have just used whatever was going and was advised to >them by somebody else, who may or may not have evaluated both shells >either. Not so. Everyone in my department, for example, came from a BSD environment (in Universities) where csh was the only shell they ever used (myself included). They've never heard of ksh and they've never used the bourne shell either. All of them eventually switched over to ksh and have never gone back to csh. Eduardo Krell AT&T Bell Laboratories, Murray Hill, NJ UUCP: {ihnp4,ucbvax}!ulysses!ekrell ARPA: ekrell@ulysses.att.com
lvc@tut.cis.ohio-state.edu (Lawrence V. Cipriani) (05/21/88)
In article <10292@ulysses.homer.nj.att.com>, ekrell@hector.UUCP (Eduardo Krell) writes: > In vi mode, use ESC_ (that is, escape key followed by an underscore). > > Eduardo Krell AT&T Bell Laboratories, Murray Hill, NJ You can get at any command line text of the previous command if you provide a number between the ESC and _. For example: $ echo a b c d e f g a b c d e f g $ echo ESC4_ # turns into the command $ echo c I don't believe this is documented in the 06/03/86a ksh man page. -- Larry Cipriani, AT&T Network Systems and Ohio State University Domain: lvc@tut.cis.ohio-state.edu Path: ...!cbosgd!osu-cis!tut.cis.ohio-state.edu!lvc (weird but right)
allbery@ncoast.UUCP (Brandon S. Allbery) (05/24/88)
As quoted from <77@denali.stanford.edu> by karish@denali.stanford.edu (karish): +--------------- | I'm trying out ksh now, after four years of using csh exclusively | (interactively). The transition was easy. I don't feel anywhere near | as restricted as I do when I use sh interactively. The only thing I | miss is the '!$' construct; I suspect that there's a way to do this | under ksh, but I haven't found it yet. +--------------- $_ is the last word on the previous line. Also, <ESC>. in emacs mode (ESC dot). -- Brandon S. Allbery, moderator of comp.sources.misc {well!hoptoad,uunet!marque,cbosgd,sun!mandrill}!ncoast!allbery Delphi: ALLBERY MCI Mail: BALLBERY
jc@minya.UUCP (John Chambers) (05/27/88)
In article <4095@mtgzz.UUCP>, avr@mtgzz.UUCP (XMRP50000[jcm]-a.v.reed) writes: > > Why would any sane person wish to use csh when they can use ksh? > Hey, that one's so easy, I can answer it! The reason is the same as why we have compilers for silly languages like Fortran or Pascal (oops, I can see the C/Pascal war starting already :-). There are useful programs around that just happen to be written in the csh dialect, and they won't run if you feed them to ksh. If you have csh available, it's a whole lot easier to use it than it is to rewrite all those useful scripts. I'd be using ksh here, too, if I had a spare $20K to pay for it. (Hey, anyone wanna slip me an illicit copy? Then I won't send you any csh scripts any more. ;-) -- John Chambers <{adelie,ima,maynard,mit-eddie}!minya!{jc,root}> (617/484-6393) You can't make a turtle come out. -- Malvina Reynolds