根发行版情况bash两根系统级配置文件:etcbashrcetcprofile配置文件包含两组变量:shell变量环境变量前者特定shell中固定〔bash〕者shell中固定明显shell变量局部环境变量全局环境变量通Shell命令设置设置环境变量前户运行程序bashShell程序说通变量名访问相应环境变量通export设置环境变量
常见环境变量
PATHHOME等环境变量家陌生外面常见环境变量
◆ HISTSIZE指保存历史命令记录条数
◆ LOGNAME指前户登录名
◆ HOSTNAME指机名称许应程序果机名话通常环境变量中取
◆ SHELL指前户种Shell
◆ LANGLANGUGE语言相关环境变量种语言户修改环境变量
◆ MAIL指前户邮件存放目录
◆ PS1根提示符root户#普通户PS2附属提示符默认>〞通修改环境变量修改前命令符方命令会提示符修改成字符串HelloMy NewPrompt ) 〞
# PS1 HelloMy NewPrompt )
HelloMy NewPrompt )
常见环境变量许应程序安装时会增加环境变量方Java设置JAVA_HOMECLASSPATH等安装五笔输入法会增加环境变量XMODIFIERS@imfcitx等
定制环境变量
环境变量Shell紧密相关户登录系统启动ShellLinux说般bash重新设定切换Shell环境变量通Shell命令设置设置环境变量前户运行程序bashShell程序说通变量名访问相应环境变量通export设置环境变量面通实例说明
1 显示环境变量HOME
echo HOME
hometerry
2 设置新环境变量WELCOME
export WELCOMEHello
echo WELCOME
Hello
3 env命令显示环境变量
env
PVM_RSHusrbinrsh
SHELLbinbash
TERMxterm
HISTSIZE1000
4 set命令显示定义Shell变量
set
BASHbinbash
BASH_VERSINFO([0]2[1]05b[2]0[3]1[4]release[5]i386redhatlinuxgnu)
BASH_VERSION'205b0(1)release'
COLORSetcDIR_COLORSxterm
COLUMNS80
DIRSTACK()
DISPLAY00
5 unset命令环境变量
set设置某环境变量值环境变量值unset命令果未指定值该变量值设NULL例:
export TESTTest #增加环境变量TEST
env|grep TEST #命令输入证明环境变量TEST已存
TESTTest
unset TEST #删环境变量TEST
env|grep TEST #命令没输出证明环境变量TEST已存
6 readonly命令设置读变量
果readonly命令话变量修改例:
export TESTTest #增加环境变量TEST
readonly TEST #环境变量TEST设读
unset TEST #会发现变量删
bash unset TEST cannot unset readonly variable
TESTNew #会发现变量修改
bash TEST readonly variable
7 C程序访问设置环境变量
C程序户说三函数设置访问环境变量
◆ getenv()访问环境变量输入参数需访问变量名字返回值字符串果访问环境变量存会返回NULL
◆ setenv()程序里面设置某环境变量函数
◆ unsetenv()某特定环境变量函数
外指针变量environ指包含环境变量列表面程序印出前运行环境里面环境变量:
#include
extern char**environ
int main ()
{
char**var
for (var environ*var NULL++var)
printf (s \n *var)
return 0
}
8通修改环境变量定义文件修改环境变量
需注意般情况仅修改普通户环境变量配置文件防止修改根户环境定义文件样会造成潜危险
cd ~ #户根目录
ls a #查文件包含隐藏文件
vi bash_profile #修改户环境变量文件
例:
编辑PATH声明格式:
PATHPATH
加指定路径中间号隔开
环境变量更改户次登陆时生效
果想立刻生效执行面语句:source bash_profile
需注意前路径〞〞放PATH里样会受意想攻击
完成通 echo PATH查前搜索路径样定制防止频繁启动位shell搜索路径外程序
Linux变量种类
变量生存周期划分Linux变量分两类:
1 永久:需修改配置文件变量永久生效
2 时:export命令行声明变量关闭shell时失效
2设置变量三种方法
1 etcprofile文件中添加变量户生效〔永久〕
VI文件etcprofile文件中增加变量该变量会Linux户效永久〞
例:编辑etcprofile文件添加CLASSPATH变量
# vi etcprofile
export CLASSPATHJAVA_HOMElibJAVA_HOMEjrelib
注:修改文件想马生效运行# source etcprofile然次重进户时生效
2 户目录bash_profile文件中增加变量单户生效〔永久〕
VI户目录bash_profile文件中增加变量改变量仅会前户效永久〞
例:编辑guok户目录〔homeguok〕bash_profile
vi homeguokbashprofile
添加容:
export CLASSPATHJAVA_HOMElibJAVA_HOMEjrelib
注:修改文件想马生效运行 source homeguokbash_profile然次重进户时生效
3 直接运行export命令定义变量前shell〔BASH〕效〔时〕
shell命令行直接[export变量名变量值]定义变量该变量前shell〔BASH〕子shell〔BASH〕效shell关闭变量失效翻开新shell时没变量需话需重新定义
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档