Shell initialization files


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Shell initialization files
# 1  
Old 02-20-2007
Shell initialization files

As you know, when a user logs in, the shell reads the initialization files in an order something like below...

###################
Bourne Shell
/etc/profile > $HOME/.profile

Bash Shell
/etc/profile > $HOME/.bash_profile > $HOME/.bash_login > $HOME/.profile > $HOME/.bashrc

C Shell
/etc/.login > $HOME/.cshrc > $HOME/.login > $HOME/.cshrc

Korn Shell
/etc/profile > $HOME/.profile > $HOME/.kshrc
###################

So I'm just wondering,.. why are there so many initialization files needed? Is it just me, or does it seem like this is an overly complicated way of initializing account profile settings? And please forgive me ahead of time for not understanding as I am still relatively new at this. Smilie
# 2  
Old 02-21-2007
Yes but I think you are missing one point! You do not need to execute all of them! The system will run quite happily with just the profile. You can then set variables local to the user with the .profile / .kshrc etc. It is all a matter of control. You forgot /etc/environment.
# 3  
Old 02-21-2007
There is typically a "at login" script which is executed only by a login shell. A login shell will have a name starting with a hyphen. Then shells may have a secondary startup file that is executed by every shell (the login shell and any subshells) where stuff like aliases may be defined. For each file, there is a version in /etc which is systemwide and may be all you need. After the verion in /etc runs, the shell runs the version in $HOME. This gives the user a chance to override and systemwide settings.

bash needs to be able to emulate the bourne shell so it checks the bourne shell's files as well.
# 4  
Old 02-22-2007
Right, but the thing I don't get is why is there so many? For instance, I can see the reasoning behind having one default one and then maybe a second one for the user account. But like bash for instance has .bashrc, .bash_profile, .bash_login, etc. And I know that it's not necessary to use all of them but it just seems like it overly complicates things to have so many available. Then not to mention, that's just for UNIX,... Linux distributions have even more. Maybe I'm still too new to this, but it seems like it would make more sense to standardize this system to all shells and all platforms.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Error occurred during initialization of VM

Hi , I was invoking a sh file using the nohup command. But while invoking, I received a below error. Error occurred during initialization of VM Unable to load native library: /u01/libjava.so: cannot open shared object file: No such file or directory . Could you please help out. Regards,... (2 Replies)
Discussion started by: Kamal1108
2 Replies

2. Shell Programming and Scripting

Variable initialization

Hallo Team, I have a simple request and i would appreciate your help. I would like to use two dates in my script lets: A=$(date +"%d %B %Y") echo $A 23 June 2014 That's awesome now we cooking. Now i want B to be on the previous month eg: echo $B Should give me 23 May 2014 I would... (9 Replies)
Discussion started by: kekanap
9 Replies

3. Programming

C- static initialization of structures

Situation: I have an array of structures: struct my_struct_type { char tags_sn; char group_c; char is_err_c; }; struct my_struct_type stuff = { "abcd", 'A', 'E', "efgh", 'B', 'E', "ijkl", 'C', 'E' NULL, '\0', '\0' ... (14 Replies)
Discussion started by: garysk
14 Replies

4. UNIX for Advanced & Expert Users

openmpi - initialization failed

Hi everybody, my problem is the following: I'm trying to run an openmpi program on a cluster (atlasz.elte.hu, it's in hungarian, but you can try google translate), but I always got this error: Fatal error in MPI_Init: Other MPI error, error stack: MPIR_Init_thread(394)...........:... (0 Replies)
Discussion started by: jkobori
0 Replies

5. Shell Programming and Scripting

Initialization error

new to shell scripting. below line is showing error in script. ${parameter:=word} in the o/p first it shows the below error. word: not found. and then in next line print "word" ---------------- p2: word: not found. word --------------------------- OS is AIX and shell is... (12 Replies)
Discussion started by: scriptor
12 Replies

6. Shell Programming and Scripting

Declaring variables without initialization

I get an error in my shell script that line 1: )unexpected. Line 1 in my script (using sh by the way) is the variable I declared but did not initialize it. result= Is this wrong? How can I fix it? I am using the variable later in the program, so I figured I could just declare it first... (4 Replies)
Discussion started by: itech4814
4 Replies

7. Programming

Class Pointer initialization C++

Hello everyone, I have a question, that are the following ways of pointer intialization same ? ClassA *point; point = 0; point = new ClassA; Thanks a load in advance!! Regards, (10 Replies)
Discussion started by: mind@work
10 Replies

8. Programming

Char initialization

Hi All, char a="\0"; a) a contains \0 a contains garbage value b) a contains \ a contains 0 a contains garbage value Pls, let me know correct result is a or b. I guess a. Thanks, Naga:cool: (2 Replies)
Discussion started by: Nagapandi
2 Replies

9. AIX

Initialization & Startup Files

Hi Every Body, I want to know which files are read by the system during startup (initialization files) & in which order they are read? (2 Replies)
Discussion started by: aldowsary
2 Replies

10. Programming

Struct Initialization

Hi We are using a code generator for initializing structures with the #define macro. Compiling it with the GCC 2.8.1 (with -ansi) it OK. But when we are using the SUN C 5.0 compiler it screams. Following is a code sample: #include <stdlib.h> #include <stdio.h> typedef struct TEST3 {... (4 Replies)
Discussion started by: amatsaka
4 Replies
Login or Register to Ask a Question