On Mon, Jun 15, 2009 at 10:43 AM, Philip Guenther<guent...@gmail.com> wrote: > On Mon, Jun 15, 2009 at 7:57 AM, Paul de Weerd<we...@weirdnet.nl> wrote: >> On Mon, Jun 15, 2009 at 10:51:16PM +0800, Jennifer Ma wrote: >> | my question is how to use screen(from package) to load ksh with >> | $HOME/.profile loaded(like a full login shell), so my alias can work >> | again. > ... >> However, in your .profile export ENV=~/.kshrc and then put all your >> aliases and shell options in your ~/.kshrc. > > To expand on that just a bit... > > In general, only three types of settings belong in your .profile: > 1) stuff that's inherited by child processes: umask, environment > variables, ulimits, traps > 2) stuff that's session-wide: terminal settings (stty, tset, etc), > mesg y/n, biff y/n > 3) stuff that you only want run once, just because: fortune > > > Everything else has to be set anew in each shell process, so it > belongs in your $ENV file. > That includes, but is not limited to: > - functions > - shell options > - aliases > - key bindings > > >> That way, all shells get your aliases/shellopts, not just in screen. > > For example, if you start a shell from inside 'vi' using the ':shell' > command, or use the '!' B command to filter lines, you'll only be able > to use aliases/functions/etc in that shell if you use the $ENV file. > > > Philip Guenther
Great info Philip and Paul. I learned something today :) Cheers! --patrick