>> On Wed, 21 Apr 2010 09:53:00 +0200, >> Erik Norgaard <norga...@locolomo.org> said:
E> I need to create a user profile that works in different shells, E> particularly bash, csh and ksh. It seems that these does not read the E> same files and/or in the same order. So, how do I configure the shell E> profiles without configuring each shell separately? The two things that bite me the most often when switching shells are environment variables and aliases. I keep most of my environment stuff in a single file ($HOME/.envrc) with entries like this: # Local time for RCS date information RCSINIT "-zLT" # Default file browser. PAGER "less" A small perl script converts this into sh- or csh-style commands, so I can just source the appropriate file from .bashrc or .tcshrc or whatever: me% cat ~/.envrc.sh # Local time for RCS date information RCSINIT="-zLT"; export RCSINIT # Default file browser. PAGER="less"; export PAGER me% cat ~/.envrc.csh # Local time for RCS date information setenv RCSINIT "-zLT" # Default file browser. setenv PAGER "less" Aliases are annoying because the syntax is inconsistent, so I only use those for inside-the-shell stuff like job control. Small ~/bin scripts handle things like using "dir" instead of "ls -lF": #!/bin/sh #<dir: long directory listing; skip colors if running script/saveon. case "$SAVEON" in "") opt='--color=auto' ;; *) opt='' ;; esac unset BLOCK_SIZE # throws off the results for GNU ls. exec /usr/local/bin/ls -lF $opt ${1+"$@"} exit 1 Put the invariant stuff in the system startup files. Something like this in /etc/profile would handle a general bash/ksh/sh environment: test -f "$HOME/.envrc.sh" && . $HOME/.envrc.sh -- Karl Vogel I don't speak for the USAF or my company If someone has a mid-life crisis while playing hide & seek, does he automatically lose because he can't find himself? --Steven Wright _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"