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 <stdio.h>
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:<PATH 1>: <PATH 2>: <PATH 3>: : <PATH N>
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.
近期RAKsmart上线云服务器Cloud Server产品,KVM架构1核1G内存40G硬盘1M带宽基础配置7.59美元/月!RAKsmart云服务器Cloud Server位于美国硅谷机房,下单可选DIY各项配置,VPC网络/经典网络,大陆优化/精品网线路,1-1000Mbps带宽,支持Linux或者Windows操作系统,提供Snap和Backup。RAKsmart机房是一家成立于2012年...
GreencloudVPS此次在四个机房都上线10Gbps大带宽VPS,并且全部采用AMD处理器,其中美国芝加哥机房采用Ryzen 3950x处理器,新加坡、荷兰阿姆斯特丹、美国杰克逊维尔机房采用Ryzen 3960x处理器,全部都是RAID-1 NVMe硬盘、DDR4 2666Mhz内存,GreenCloudVPS本次促销的便宜VPS最低仅需20美元/年,支持支付宝、银联和paypal。Gree...
老薛主机怎么样?老薛主机这个商家有存在有一些年头。如果没有记错的话,早年老薛主机是做虚拟主机业务的,还算不错在异常激烈的市场中生存到现在,应该算是在众多商家中早期积累到一定的用户群的,主打小众个人网站业务所以能持续到现在。这不,站长看到商家有在进行夏季促销,比如我们很多网友可能有需要的香港vps主机季度及以上可以半价优惠,如果有在选择不同主机商的香港机房的可以看看老薛主机商家的香港vps。点击进入...