Ok, this is the little annoying.
I can't set up $PATH variable for all non root users on Solaris 11 express.
oracle@DevelopBox01:/export/home/oracle$ cat /etc/default/login
........
# PATH sets the initial shell PATH variable
#
PATH=/usr/bin:/opt/DTT:/opt/DTT/bin:/opt/solstudio12.2/bin:/opt/solstudio12.2/bin/amd64:
/usr/bin:/usr/bin/amd64:/usr/local/bin:/usr/ddu/bin/i386:/usr/gnu/bin/amd64:/usr/gnu/bin:
/usr/has/bin:/usr/openwin/bin/amd64:/usr/openwin/bin:/usr/perl5/5.8.4/bin
and when I echo the variable then all I see is
oracle@DevelopBox01:/export/home/oracle$ echo $PATH
/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin
And I need to set only for user oracle certain varibles
oracle@DevelopBox01:/export/home/oracle$ grep ORACLE_ .login
ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME="$(ORACLE_BASE)/product/10.2.0.1.0"; export ORACLE_HOME
ORACLE_SID oracle; export ORACLE_SID
and of course I don't how to set up something trivial like that, this varibles must be initialed upon login.
User shell is KSH93
Thanks
As far as KornShell is concerned, I believe you need to modify different files:
If the shell is invoked by exec (2), and the first character of argument zero ($0) is -, then the shell is assumed to be a login shell and commands are read from /etc/profile and then from either .profile in the current directory or $HOME/.profile, if either file exists.
Ref: KornShell 93 Manual Page
Do you have any PATH variable in the .profile?
My guess is that maybe it's something like
PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin
Where it should:
PATH=$PATH:/foo/bar
Can you cat the .profile to the forum?
oracle@DevelopBox01:/export/home/oracle$ cat .profile
#
# Simple profile places /usr/gnu/bin at front,
# adds /usr/X11/bin, /usr/sbin and /sbin to the end.
#
# Use less(1) as the default pager for the man(1) command.
#
export PATH=/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin
export PAGER="/usr/bin/less -ins"
#
# Define default prompt to <username>@<hostname>:<path><"($|#) ">
# and print '#' for user "root" and '$' for normal users.
#
PS1='${LOGNAME}@$(/usr/bin/hostname):$(
[[ "${LOGNAME}" == "root" ]] && printf "%s" "${PWD/${HOME}/~}# " ||
printf "%s" "${PWD/${HOME}/~}\$ ")
The variable PATH is being overwritten on login via the current .login file.
Put the following line instead of what's present and that will do it:
export PATH=$PATH:/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin
Wanna test it before editing your file? Try the following at the prompt:
export PATH=$PATH:/usr/bin:/opt/DTT:/opt/DTT/bin:/opt/solstudio12.2/bin:/opt/solstudio12.2/bin/amd64:
/usr/bin:/usr/bin/amd64:/usr/local/bin:/usr/ddu/bin/i386:/usr/gnu/bin/amd64:/usr/gnu/bin:
/usr/has/bin:/usr/openwin/bin/amd64:/usr/openwin/bin:/usr/perl5/5.8.4/bin
and then
echo $PATH
Hope it fixes your problem.
Thanks Jlliagre, I did not notice this one ...
You should remove some unnecessary paths and add some others:
export PATH=/usr/bin:/usr/sbin:/sbin:/opt/DTT/bin:/opt/solstudio12.2/bin:
/usr/bin:/usr/local/bin:/usr/ddu/bin/i386:/usr/gnu/bin:/usr/openwin/bin:/usr/perl5/5.8.4/bin
---------- Post updated at 07:33 ---------- Previous update was at 07:31 ----------
Typo:
export PATH=$PATH:/usr/bin:/opt/DTT:/opt/DTT/bin:...
Thanks, I successfully setted my PATH variable but for some reason Oracle database 10 won't start. I am going to try with some other database, it is for my college purposes only and I want a good knowledge in databse field. Will try with databse 11 but requires too much RAM.