in reply to Re: How do I test if my Perl script was run using a login vs a non-login shell
in thread How do I test if my Perl script was run using a login vs a non-login shell
I actually want to know both these things since shells behave differently based on whether they are login or non-login, and/or interactive, non-interactive. See the following from the bash man page for an example (bash 3.2):
When bash is invoked as an interactive login shell, or as a non +-interactive shell with the --login option, it first reads and execu +tes commands from the file /etc/profile, if that file exists. A +fter 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. The --noprofile option +may be used when the shell is started to inhibit this behavior. When a login shell exits, bash reads and executes comman +ds from the files ~/.bash_logout and /etc/bash.bash_logout, if the fi +les exists. When an interactive shell that is not a login shell is started, + bash reads and executes commands from ~/.bashrc, if that file exis +ts. This may be inhibited by using the --norc option. The --r +cfile file option will force bash to read and execute commands from f +ile instead of ~/.bashrc. When bash is started non-interactively, to run a shell script, +for example, it looks for the variable BASH_ENV in the environme +nt, expands its value if it appears there, and uses the expanded +value as the name of a file to read and execute. Bash behaves as if +the following command were executed: if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi but the value of the PATH variable is not used to search for th +e file name.
So your link is useful for solving the interactive, non-interactive part of the puzzle, but I'm still keen to know how to solve the login/non-login part of the puzzle.
Thanks for the link.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: How do I test if my Perl script was run using a login vs a non-login shell
by Anonymous Monk on May 25, 2012 at 03:25 UTC |