您的位置:首页 > 运维架构 > Shell

Linux Shell中的变量-环境变量

2015-10-07 15:12 253 查看
参考:《Linux命令 / 编辑器与Shell编程》

################################################

note that :与其他编程语言不同,Bash中的变量没有数据类型的区别,变量中的值都是以字符串的形式保存的,如果要进行数值计算,需要进行特殊转换

Linux Shell下的变量按其使用目的可分为3种类型:

环境变量:用于保存操作系统运行时使用的环境参数

位置变量:Bash将传递给脚本的参数保存在位置变量中,以便于在脚本中引用这些参数

预定义变量:由系统保留和维护的一组特殊的变量,这些变量通常用于保存程序运行状态等

自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等

#########################################################

保存系统运行情况的环境变量

系统环境变量是用户登陆系统时,由系统自动生成并设置的一组变量。所有的进程 / 脚本都可以引用这些变量,因此环境变量的值通常与系统息息相关。

可使用set命令查看环境变量

# set


1.系统中常见的环境变量

(1)家目录位置变量HOME

HOME变量用于保存当前登陆用户的家目录位置,这个变量的值是由系统用户文件/etc/passwd中的用户家目录字段定义的。查看当前用户的家目录如下:

#使用echo命令查看变量HOME的值
# echo $HOME


(2)系统语言变量LANG

LANG变量用于保存系统当前使用的语言,如果要临时修改当前系统使用的语言,通常可以通过修改该变量的值来实现。查看当前系统使用的语言如下:

#查看变量LANG中保存的系统语言
# en_US.UTF-8表示英语 zh_CN.UTF-8表示简体中文
# echo $LANG


临时修改系统语言可以重新指定此变量的值:

#修改环境变量LANG的值为zh_CN.UTF-8
# LANG=zh_CN.UTF-8


(3)交互程序变量SHELL

SHELL变量用于保存用户当前使用的Shell。可以通过查看该变量值的方法,快速查看当前使用的Shell

#快速查看当前用户使用的Shell
# echo $SHELL


(4)命令搜索路径变量PATH

PATH变量用于保存当前用户使用的命令搜索路径。当用户输入命令时,系统会尝试在该变量保存的目录中查找命令文件

#通过查看变量PATH值的方法查看当前用户的命令搜索路径
# echo $PATH


note that:PATH使用冒号":"将不同的目录分隔开

2.只读环境变量

只读环境变量的值是无法更改的

#使用readonly命令查看只读环境变量
# readonly


3.如何修改环境变量

可以在命令提示符中修改环境变量,但在命令提示符中修改的环境变量将在用户重新登录 / 系统重启后消失,这是可以在配置文件中修改环境变量:

/etc/profile:全局用户配置文件。如果修改了此文件的设置,修改的设置将会影响系统中的所有用户

~/.bash_profile:用户个人配置文件。如果修改了此文件中的变量,修改的设置只会影响单个用户

/etc/bashrc:全局环境变量配置文件。此文件中定义了所有用户的环境变量

~/.bashrc:个人环境变量配置文件。此文件中定义了用户的环境变量

note that:~表示家目录 .bash_profile和.bashrc是隐藏文件(.开头的为隐藏文件) 以上四个文件单独修改一个即可,且有时可能某个文件不存在

如果想让修改后的环境变量立即生效,可以运行命令:

# source xxx  #xxx表示你修改的文件
例如 source /etc/profile
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: