Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Is there any $PATH default setting? Post 302699923 by bakunin on Wednesday 12th of September 2012 03:07:21 PM
Old 09-12-2012
Quote:
Originally Posted by yifangt
Is it /etc/profile?
Yes, it is. In fact, there are several files read when a session/shell starts:

Whenever a session starts (that is: a user logs in), a system profile is read. In most systems this is called "/etc/environment" (AIX) or "/etc/profile" (SunOS, Linux).

Then a user profile is read. On most systems it is called ".profile" and resides in the users "$HOME". Commonly in "~/.profile" a variable named "ENV" is set, which names the startup file for the shell.

After these two files the shell itself is started. Which one this is depends on the user entry in the file "/etc/passwd", which is readable by everyone. "grep" it for you own username, which will possibly look similar to:

Code:
# grep username /etc/passwd
username:x:1001:1001:username,,,,:/home/username:/bin/ksh

The last entry is the path the shells executable, in this case Korn shell.

The following part of the process is executed every time a shell starts. This is the case for every log-in-process, because as the last stage of the log-in a shell is started, but also when a script is started with a shebang ("#!") in the first line, you enter "ksh" ("bash", ...) on the command line, etc..

First, the shell reads a system-dependant startup-file. In linux (and with bash) this is "/etc/bashrc", other system/shell-combinations may have different startup files. A look in the man page of your shell will tell you which one it is.

Second, a user-dependant startup file is read. This is either the file declared via the "ENV" variable (see above) or a default file: for bash it is "~/.bashrc", for ksh it is "~/.kshrc", etc.

Every later file can override settings from an earlier run file. Because i don't like all these graphical gimmicks like coloured ls-output my startup-files on Linux systems usually are full with commands unsetting the "helpful" aliases and other fancinesses the "/etc/profile" is setting. This may seem inefficient (first setting a lot of things, than reset all these setting to zero), but i don't like to change the "original" look and feel of the Linux systems by changing the system-wide settings. This way it is only my own account which behaves like i think a Unix-account should behave.

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Setting $PATH for a particular file...????

:) dear members; I am trying to placea directory to keep minor records in particular directories.. rather than just rely on hard links.. I would like to set the $PATH variable so that I can access the directory itself from anywhere; ex./ /tmp or /bin /var... I know how to export enviromental... (4 Replies)
Discussion started by: moxxx68
4 Replies

2. UNIX for Dummies Questions & Answers

Help on setting path variable

Hi there, I need help on setting the path variable. How can I set the path variable with Bourne Shell. My scripts goes like this, but did not work. #!/bin/sh PATH=/usr/bin:/usr/ucb:/etc:/export/home/zchen/home export PATH Thanks, Z (4 Replies)
Discussion started by: randomcz
4 Replies

3. Shell Programming and Scripting

Setting path

Hi all, I have a java command in a shell script. When i m executing the command from the prompt its working fine. But when i paste the same command in a shell script and execute the shell script it says path not found. Please help. (5 Replies)
Discussion started by: radhika03
5 Replies

4. Solaris

Problem Setting $PATH

I am trying to install the pkg-get package to a fresh install of Solaris 10. I am able to download and install correctly using the default directory for both pkg-get and wget as found on blastwave.org. When I issue the command "which wget and which pkg-get" it returns no wget or pkg-get found in... (1 Reply)
Discussion started by: greengrass
1 Replies

5. Shell Programming and Scripting

Setting up a path in UNIX

I have the following script "test". When i tried to execute it, I am not able to run it. I dunno why ? Then i tried getting the first few lines of the script which is displayed below: $head -10 test #!/bin/ksh PROG=$0;export PROG ORAUSER=`get_inf_env INFORM_DB_ACCOUNT`;export ORAUSER... (13 Replies)
Discussion started by: bobby1015
13 Replies

6. Solaris

Setting PATH - Vanishes

Hi , I new to solaris. I want to set path variable . Eg: JAVA_HOME. When i do this, #JAVA_HOME=/usr/jdk/jdk1.6 #export JAVA_HOME #echo $JAVA_HOME /usr/jdk/jdk1.6 Then its ok. When i toggle to bourne shell or if i log off or restart. then JAVA_HOME is echoed blank. How to set... (4 Replies)
Discussion started by: gnanagurus
4 Replies

7. Shell Programming and Scripting

Setting path names

I am in a directory called /abstracts Doing tree -d gives . ├── geo1936 │ ├── geo01n01 │ ├── geo01n02 │ └── geo01n03 ├── geo1937 │ ├── geo02n01 │ ├── geo02n02 │ ├── geo02n03 │ └── geo02n04 (4 Replies)
Discussion started by: kristinu
4 Replies

8. UNIX for Dummies Questions & Answers

Setting up a private path

Hi all, This is probably a very simple question but I couldn't even think of how to phrase it intelligently so google could tell me the answer. Basically I am a user on a server, I am not the admin and do not have root privileges. I have downloaded a bunch of programs that I need to use and... (2 Replies)
Discussion started by: DavyK1984
2 Replies

9. Shell Programming and Scripting

Setting class path

hi , can anybody help me to chage the class path in unix server.. what are the files need to update .... (2 Replies)
Discussion started by: Madhu Siddula
2 Replies
SULOGIN(8)						Linux System Administrator's Manual						SULOGIN(8)

NAME
sulogin - Single-user login SYNOPSIS
sulogin [ -e ] [ -p ] [ -t SECONDS ] [ TTY ] DESCRIPTION
sulogin is invoked by init(8) when the system goes into single user mode. (This is done through an entry in inittab(5).) Init also tries to execute sulogin when the boot loader (e.g., grub(8)) passes it the -b option. The user is prompted Give root password for system maintenance (or type Control-D for normal startup): If the root account is locked, no password prompt is displayed and sulogin behaves as if the correct password were entered. sulogin will be connected to the current terminal, or to the optional device that can be specified on the command line (typically /dev/con- sole). If the -t option is used then the program only waits the given number of seconds for user input. If the -p option is used then the single-user shell is invoked with a dash as the first character in argv[0]. This causes the shell process to behave as a login shell. The default is not to do this, so that the shell will not read /etc/profile or $HOME/.profile at startup. After the user exits the single-user shell, or presses control-D at the prompt, the system will (continue to) boot to the default runlevel. ENVIRONMENT VARIABLES
sulogin looks for the environment variable SUSHELL or sushell to determine what shell to start. If the environment variable is not set, it will try to execute root's shell from /etc/passwd. If that fails it will fall back to /bin/sh. This is very valuable together with the -b option to init. To boot the system into single user mode, with the root file system mounted read/write, using a special "fail safe" shell that is statically linked (this example is valid for the LILO bootprompt) boot: linux -b rw sushell=/sbin/sash FALLBACK METHODS
sulogin checks the root password using the standard method (getpwnam) first. Then, if the -e option was specified, sulogin examines these files directly to find the root password: /etc/passwd, /etc/shadow (if present) If they are damaged or nonexistent, sulogin will start a root shell without asking for a password. Only use the -e option if you are sure the console is physically protected against unauthorized access. AUTHOR
Miquel van Smoorenburg <miquels@cistron.nl> SEE ALSO
init(8), inittab(5). 17 Jan 2006 SULOGIN(8)
All times are GMT -4. The time now is 06:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy