how to set environmental variables
I swear i'm getting dumber.
How do you set these two environmental variables: PATH and HTTP_PROXY and also, what is the difference between them? as in I see path in my rc.d scripts, and i'm inclinde to set it there, and may be well (i'm thinking /etc/rc.d/rc.S (or M) but that definitely won't do for export HTTP_PROXY= ... now when i run export on it's own i get all these vars spewed back at me, where are they kept? I've googled, i've linux in a nutshelled, and i've tried to remember, but i can't (and i feel small and insecure as a result). Any help, would really be appreachiated, i swear i used to know this..... |
urm....
Sorry, newbie here, but is it /etc/profile mark |
well ... that was where i was straight headed, but nothing happens when i restart ... when i echo HTTP_PROXY ... nada
|
Environment variables are stored in the memory space of the shell you're executing.
If I'm adding something new to my environment variables, I usually double-check everything. If it's global, I slap it in /etc/profile. If it's something for me, I put it in ~/.bash_profile. I manually source the file and "echo $HTTP_PROXY" (or whatever the variable is) to make sure it sticks. Then I switch to a virtual terminal, log in, and do the same echo there to make sure the changes are read correctly. If you've got HTTP_PROXY defined in /etc/profile, and "echo $HTTP_PROXY" still gives you nothing, then check your ~/.bash_profile to make sure you aren't overwriting your own changes (unseting it for example). |
aight ...
chakkerz@rurouni:~$ less ~/.bash_profile /home/chakkerz/.bash_profile: No such file or directory So no local over-ride /etc/profile as follows (not #^^ for changes (those comments aren't in the file)) # /etc/profile: This file contains system-wide defaults used by # all Bourne (and related) shells. # Set the values for some environment variables: export MINICOM="-c on" export MANPATH=/usr/local/man:/usr/man:/usr/X11R6/man export HOSTNAME="`cat /etc/HOSTNAME`" export LESSOPEN="|lesspipe.sh %s" export LESS="-M" export HTTP_PROXY=http://cunger:yeahRight@wwwproxy.scu.edu.au:3128/ #^^ added HTTP_PROXY # If the user doesn't have a .inputrc, use the one in /etc. if [ ! -r "$HOME/.inputrc" ]; then export INPUTRC=/etc/inputrc fi # Set the default system $PATH: PATH="/usr/lib/j2sdk1.5.0/bin/:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games" #^^ added j2sdk1.5.0 # For root users, ensure that /usr/local/sbin, /usr/sbin, and /sbin are in # the $PATH. Some means of connection don't add these by default (sshd comes # to mind). if [ "`id -u`" = "0" ]; then echo $PATH | grep /usr/local/sbin 1> /dev/null 2> /dev/null if [ ! $? = 0 ]; then PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH fi fi # I had problems using 'eval tset' instead of 'TERM=', but you might want to # try it anyway. I think with the right /etc/termcap it would work great. # eval `tset -sQ "$TERM"` if [ "$TERM" = "" -o "$TERM" = "unknown" ]; then TERM=linux fi # Set ksh93 visual editing mode: if [ "$SHELL" = "/bin/ksh" ]; then VISUAL=emacs # VISUAL=gmacs # VISUAL=vi fi # Set a default shell prompt: #PS1='`hostname`:`pwd`# ' if [ "$SHELL" = "/bin/pdksh" ]; then PS1='! $ ' elif [ "$SHELL" = "/bin/ksh" ]; then PS1='! ${PWD/#$HOME/~}$ ' elif [ "$SHELL" = "/bin/zsh" ]; then PS1='%n@%m:%~%# ' elif [ "$SHELL" = "/bin/ash" ]; then PS1='$ ' else PS1='\u@\h:\w\$ ' fi PS2='> ' export PATH DISPLAY LESS TERM PS1 PS2 # Default umask. A umask of 022 prevents new files from being created group # and world writable. umask 022 # Set up the LS_COLORS and LS_OPTIONS environment variables for color ls: if [ "$SHELL" = "/bin/zsh" ]; then eval `dircolors -z` elif [ "$SHELL" = "/bin/ash" ]; then eval `dircolors -s` else eval `dircolors -b` fi # Notify user of incoming mail. This can be overridden in the user's # local startup file (~/.bash.login or whatever, depending on the shell) if [ -x /usr/bin/biff ]; then biff y fi # Append any additional sh scripts found in /etc/profile.d/: for file in /etc/profile.d/*.sh ; do if [ -x $file ]; then . $file fi done # For non-root users, add the current directory to the search path: if [ ! "`id -u`" = "0" ]; then PATH="$PATH:." fi |
OH for crying out loud, why didn't this work two days ago??
Ah well, thanks for the help. |
Ok, I don't see anything wrong with the file. I tried exporting your exact statement and value in my system, and it worked as expected. So the only things I can think of are...
1. There's another file named ~/.bashrc. It's not looked at except for login shells. I doubt this would be the problem, but you might check it (like you did with ~/.bash_profile). Quote:
3. Throw your hands up in the air in exasperation... Make sure the changes are saved to /etc/profile, and log out completely from X or pseudo terminals, and then log back in. That will force the system to re-read configuration files from scratch. |
Hehehe... I type too slowly :)
Glad it's working. Perhaps it was logging out and logging back in? |
mayhaps ... honestly no idea ... well now i KNOW it SHOULD work that way, i hopefully will not be swayed next time i have this problem.
"It's not working ... no wait ... it's all in the mind" |
All times are GMT -5. The time now is 04:11 AM. |