Re: trouble getting .shrc to take
On 09/26/12 23:22, Polytropon wrote: On Wed, 26 Sep 2012 23:08:27 -0600, Gary Aitken wrote: Having set my shell to either sh or bash, I can't seem to get .shrc to take. If I have a .shrc that looks like: PROMPT_DIRTRIM=3; export PROMPT_DIRTRIM PS1=\\w$ ; export PS1 PS1 is not defined when I log in, and the prompt is set to the default instead. If I do ./.shrc nothing seems to change; although executing the above commands from the shell itself works. What am I missing? As far as I see from man sh, the system's shell does not support PROMPT_DIRTRIM, so it's a bash feature. Didn't realize that, thanks. And apparently I lied; using sh does cause .shrc to be used, but not when bash is used. According to man bash, its initialisation file is called ~/.bashrc. For example, if I put export PS1=\u@\h:\w\$ into ~/.bashrc and execute bash, I get a standard prompt. So it should only be a matter of the correct file name. Note that bash has several files it can process at startup time, such as .bash_login, .profile and .bashrc. Their order is described in the manual, e. g. When bash is invoked as an interactive login shell, or as a non-inter- active shell with the --login option, it first reads and executes com- mands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. When an interactive shell that is not a login shell is started, bash reads and executes commands from ~/.bashrc, if that file exists. This may be inhibited by using the --norc option. The --rcfile file option will force bash to read and execute commands from file instead of ~/.bashrc. You can find more information in the INVOCATION section of the manual at man bash. There are files for per-user configuration as well as system-wide files. I thought .shrc was used by bash as well, but looking further I see it only uses .shrc, via ENV, that when it is invoked as sh; which it's not when it's the startup shell and /bin/sh isn't a link to it. Thanks. ___ 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
trouble getting .shrc to take
Having set my shell to either sh or bash, I can't seem to get .shrc to take. If I have a .shrc that looks like: PROMPT_DIRTRIM=3; export PROMPT_DIRTRIM PS1=\\w$ ; export PS1 PS1 is not defined when I log in, and the prompt is set to the default instead. If I do ./.shrc nothing seems to change; although executing the above commands from the shell itself works. What am I missing? ___ 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
Re: trouble getting .shrc to take
On Wed, 26 Sep 2012 23:08:27 -0600, Gary Aitken wrote: Having set my shell to either sh or bash, I can't seem to get .shrc to take. If I have a .shrc that looks like: PROMPT_DIRTRIM=3; export PROMPT_DIRTRIM PS1=\\w$ ; export PS1 PS1 is not defined when I log in, and the prompt is set to the default instead. If I do ./.shrc nothing seems to change; although executing the above commands from the shell itself works. What am I missing? As far as I see from man sh, the system's shell does not support PROMPT_DIRTRIM, so it's a bash feature. According to man bash, its initialisation file is called ~/.bashrc. For example, if I put export PS1=\u@\h:\w\$ into ~/.bashrc and execute bash, I get a standard prompt. So it should only be a matter of the correct file name. Note that bash has several files it can process at startup time, such as .bash_login, .profile and .bashrc. Their order is described in the manual, e. g. When bash is invoked as an interactive login shell, or as a non-inter- active shell with the --login option, it first reads and executes com- mands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. When an interactive shell that is not a login shell is started, bash reads and executes commands from ~/.bashrc, if that file exists. This may be inhibited by using the --norc option. The --rcfile file option will force bash to read and execute commands from file instead of ~/.bashrc. You can find more information in the INVOCATION section of the manual at man bash. There are files for per-user configuration as well as system-wide files. -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ... ___ 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