linux环境变量设置--总结Linux environment variable settings
-- Summary
Linux environment variable settings -- Summary
1. Introduction
In the Linux system, if you download and install an application,it is likely that the name of "command not found" appears whentyping its name. It' s too tedious to find executable files everytime you go to the installation target folder. This involvessetting up the environment variable PATH, and the setting ofPATH is also an integral part of customizing the environmentvariables in linux. Based on RedHat 9, this paper gives adetailed explanation of the customization of environmentv ar i ab l e s.
2. Brief introduction of variables
Linux is a multi-user operating system. After each user loginsystem, there will be a dedicated running environment.Typically, the default environment for each user is the same,and the default environment is actually a set of definitionsof the environment variables. Users can customize theiroperating environment by modifying the corresponding systemenvironment variables.
3. Customizing environment variables
The environment variable is closely related to Shell, and aShell is started after the user logs into the system. ForLinux,
it is generally bash, but it can also be reset or switched toother Shell. According to the release version, bash has twobasic system level configuration files: /etc/bashrc and/etc/profile. These configuration files contain two differentsets of variables: shell variables and environment variables.The former is fixed only in a particular shell (such as bash) ,and the latter is fixed in different shell. It is obvious thatthe shell variable is local, and the environment variable isglobal. The environment variables are set by the Shell command,and the set environment variables can be used by all theprograms that the current user runs. For the bash Shell program,you can access the corresponding environment variables byvariable names, and set the environment variables throughexport. The following is illustrated by several examples.
3. 1 use command echo to display environment variables-----------------------------------------------------------
This example uses the echo # display common variable HOME$e c h o $HOM E
/home/l qm
-----------------------------------------------------------
---------------------
3.2 set a new environment variable
-----------------------------------------------------------
---------------------
$export HELLO= "Hello"!"
$echo $HELLO
Hello!
-----------------------------------------------------------
---------------------
3.3 use the env command to display all the environment variables-----------------------------------------------------------
---------------------
$env
S SH_AGENT_P I D=1875
HOSTNAME=lqm
SHELL=/bin/bash
TERM=xt erm
HISTSIZE=1000
. . . . . .
-----------------------------------------------------------
---------------------
3.4 use the set command to display all locally defined Shellv ar i ab l e s
-----------------------------------------------------------
---------------------
$set
BASH=/bin/bash
. . . . . .
-----------------------------------------------------------
---------------------
3.5 use the unset command to clear the environment variables-----------------------------------------------------------
---------------------
$export TEST= "test" # added an environment variable TEST$env grep TEST | # this command output, prove the environmentvariable TEST already exists
TEST=test
$unset $TEST # delete environment variable TEST
$env grep TEST | # this command without output, prove theenvironment variable TEST already exists
-----------------------------------------------------------
3.6 set read-only variables using the readonly commandIf the readonly command is used, the variables cannot bemodified or cleared. Examples are as follows:
-----------------------------------------------------------
---------------------
$export TEST= "Test. . . " # added an environment variable TEST$readonly TEST # set the environment variable TEST read-only.$unset TEST # will find this variable cannot be deleted-bash: unset: TEST: cannot unset: readonly variable
$TEST= "New" #will find this variable cannot be modified-bash: TEST: readonly variable
-----------------------------------------------------------
---------------------
3.7 use C programs to access and set environment variables
For users of C programs, you can use the following threefunctions to set up or access an environment variable.Getenv () access an environment variable. The input parameteris the name of the variable to be accessed, and the return valueis a string. If the access environment variable does not exist,it returns NULL.
Setenv () the function of setting up an environment variablein the program.
Unsetenv () a function that clears a particular environmentv ar i ab l e.
In addition, there is apointer variable, environ, which refersto a list containing all of the environment variables. Thefollowing program can print all the environment variables inthe current running environment:
-----------------------------------------------------------
---------------------
#include
Extern char**environ;
Int main ()
{
Char**v ar;
For (VaR =environ; *var! =NULL; ++var)
P r i n t f ("%s \n", *v ar) ;
Return 0;
}
-----------------------------------------------------------
---------------------
3.8 modify the environment variable by modifying theenvironment variable definition file.
It is important to note that, in general, this is onlyapplicable to ordinary users, and avoid modifying the rootuser' s environment definition file, which may pose a potentialdanger.
-----------------------------------------------------------
---------------------
$cd # to users under the root directory
$ls -a # view all files, including hidden files
$vi.Bash_profile # modify environment variables definitionfile
-----------------------------------------------------------
---------------------
Then edit your PATH statement, which is formatted as:PATH=$PATH:: : : :
You can add the specified path by itself, separated by colons.When the environment variable is changed, it will take effectwhen the user enters the next time. If you want to take effectimmediately, you can execute the following statement:$source.Bash_profile
Note that it is best not to the current path"/" in PATH, thismay be an unexpected attack. After completion, you can view thecurrent search path through $echo $PATH. With thiscustomization, you can avoid frequent programs starting fromthe path outside the shell search.
4 Summary
Through the above settings,
You can have a more convenient and effective environment toimprove your work efficiency.