lau@kings.wharton.upenn.edu (Yan K. Lau) (06/09/90)
In article <1647@ns-mx.uiowa.edu> jlhaferman@l_eld09.icaen.uiowa.edu (Jeffrey Lawrence Haferman) writes: >From article <144@evtprp0b.UUCP>, by mrt7455@evtprp0b (Michael R Tucker): >> >> Why is start_csh not recommended? To this point, I have been using the csh > >Because you should use "chsh" to change your shell entry in /etc/passwd >to /bin/csh. Then /bin/csh will be your default shell, eg. when you >log in. So there's no reason to use start_csh (note they are not saying >don't use c-shell, just don't use start_csh). > Does this also apply to start_sh? The reason I ask is that I have /bin/sh in /etc/passwd as the default shell. When I hit the "shell" key or cp /bin/sh at the command: prompt, I get a Bourne shell but it doesn't read my .profile. However, if I use /bin/start_sh, my .profile is read. This happens when I log on at the DM login: prompt. If I telnet into an Apollo, and log on, then my .profile is read. I know when I telnet, it doesn't read my user_data/startup file which it does when I login to the DM. What's the explanation? Yan. )~ Yan K. Lau lau@kings.wharton.upenn.edu The Wharton School ~/~ -Sheenaphile- 128.91.11.233 University of Pennsylvania /\ God/Goddess/All that is -- the source of love, light and inspiration!
rees@dabo.ifs.umich.edu (Jim Rees) (06/09/90)
start_* are all the same program. What it does, approximately, is strip off the 'start_' on arg 0 then look in /bin for a program by that name. Then it sets $SHELL to /bin/(shellname) and execs the shell, with arg 0 set to -(shellname). The shells look at arg0, and if it starts with '-', they run their respective startup file (.profile, .login, etc). So the main function of start_foo is to set arg0 to -foo so you get your login startup file executed. It's not needed if you log in the normal (Unix) way, with /bin/login, which sets arg0 for you. It's mostly useful if your login shell was started by something like the DM that doesn't do this.