사용자 프로세스들은 /etc/passwd 에 정해진 쉘의 자식프로세스인 경우가 많으며 대게 쉘의 초기화 파일에 의해서 path는 수정되어지는 경우가 많다. login 프로그램에서는 쉘의 이름앞에 '-' 가 붙는다. 예를들어 bash는 '-bash'라고 불려진다. 이 표시는 그것이 로그인 쉘임을 불려지는 쉘에게 알린다. 이 경우에 쉘은 로그인 초기화 파일을 수행하게 된다. 로그인 쉘이 아닐경우에는 간단한 초기화가 이루어진다.
추가적으로, 쉘이 상호 대화식쉘인지 즉, 명령어가 파일로부터 입력이 되는 지 tty에서 입력이 되는지 체크를 하는데 이것은 쉘의 초기화를 수정하게 되 며 그래서 대화식 쉘이 아니고 로그인 쉘도 아니라면 초기화는 아주 간단하게 이루어진다.(bash는 이경우에는 아무런 초기화도 하지 않는다!)
전형적인 로그인 쉘로서 bash는 시스템전반에 걸쳐 쓰이는 /etc/profile 파 일을 참조한다. 여기에는 시스템 환경과 path가 bash 사용자를 위해 설정되 어 질 수 있다.
그러나 시스템이 대화식 쉘이 아니라고 판단하게 되면 이 파일은 읽혀지지 않는다. 중요한 경우로 리모트에서 명령어가 실행되는 rsh 가 있는데 이 경우 /etc/profile은 읽혀지지 않고 path는 rsh 데몬에게서 상속되어진다.
bash는 명령 인수 -login과 -i 로써 로그인 쉘인지 아닌지 와 대화형 쉘인 지 아닌지를 정할 수 있다. 사용자는 홈디렉토리에 /.bash_profile, /.bash_login 또는 /.profile 파일을 만들어서 /etc/profile 에 정해진 값을 수정할 수 있다. 주의할 것은 csh의 초기화 과정과는 다르게 이 파일중 처음것만 실행된다는 것이다. /.bash_login 은 로그인 쉘일 경우 실행되지 않으며 /.bash_profile 이 있다면 /.bash_login은 전혀 실행안된다!!
만약 bash가 sh 란 이름으로 사용되어진다면 bash는 오리지날 본쉘의 초 기화를 에뮬레이트한다. 즉, /etc/profile, /.profile 과 로그인 쉘의 초기 화만 따른다.
tcsh 가 로그인 쉘이면 tcsh 는 다음 순서로 파일들을 수행한다.
/etc/csh.cshrc /etc/csh.login ~/.tcshrc ~/.cshrc (.tcshrc 가 없는경우) ~/.history ~/.login ~/.cshdirs
대화형 쉘이 아닐경우에는 단지 *cshrc스크립트만 실행된다. *login 스크 립트는 path를 지정하기 위해 로그인 시에 한번 사용된다.