3

Where Linux/Unix environment variables are kept? How can I add my own environment variable and make it persistent, not only within currently running script?

1

4 Answers 4

3

you can add them in your profile, eg ~/.bash_profile. global profile is usually located in /etc. eg /etc/profile. Take a look also at /etc/profile.d directory if you have it.

Sign up to request clarification or add additional context in comments.

2 Comments

I don't see /etc/profile, but I see /etc/profile.d which contains gvfs-bash-completion.sh and speechd-user-port.sh files. What exactly should I do to add environment variables for all users?
those in /etc/profile.d are custom profiles. For all users, if you don't have /etc/profile then create it.
1

Are you looking for the export keyword?

More information:

Comments

1

Add export statements to ~/.bash_login

2 Comments

I don't see ~/.bash_login file. Can I create it? What is the difference between ~/.bash_login and ~/.bashrc?
@alex You can create one. bash_login runs for login shells and bashrc for interactive shells - check the man page for details.
1

To see the env variables use the printenv command.

To set a new variable you can use the ~/.bash_rc file:

export new_variable=10

new_variable will be accessible for all shells.

2 Comments

Thank you. Do you mean ~/.bashrc file? What about setting environment variable for all users?
No spaces around =. export new_variable=10 or it won't work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.