Linux Shell中的变量-环境变量
2015-10-07 15:12
253 查看
参考:《Linux命令 / 编辑器与Shell编程》
################################################
note that :与其他编程语言不同,Bash中的变量没有数据类型的区别,变量中的值都是以字符串的形式保存的,如果要进行数值计算,需要进行特殊转换
Linux Shell下的变量按其使用目的可分为3种类型:
环境变量:用于保存操作系统运行时使用的环境参数
位置变量:Bash将传递给脚本的参数保存在位置变量中,以便于在脚本中引用这些参数
预定义变量:由系统保留和维护的一组特殊的变量,这些变量通常用于保存程序运行状态等
自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等
#########################################################
保存系统运行情况的环境变量
系统环境变量是用户登陆系统时,由系统自动生成并设置的一组变量。所有的进程 / 脚本都可以引用这些变量,因此环境变量的值通常与系统息息相关。
可使用set命令查看环境变量
1.系统中常见的环境变量
(1)家目录位置变量HOME
HOME变量用于保存当前登陆用户的家目录位置,这个变量的值是由系统用户文件/etc/passwd中的用户家目录字段定义的。查看当前用户的家目录如下:
(2)系统语言变量LANG
LANG变量用于保存系统当前使用的语言,如果要临时修改当前系统使用的语言,通常可以通过修改该变量的值来实现。查看当前系统使用的语言如下:
临时修改系统语言可以重新指定此变量的值:
(3)交互程序变量SHELL
SHELL变量用于保存用户当前使用的Shell。可以通过查看该变量值的方法,快速查看当前使用的Shell
(4)命令搜索路径变量PATH
PATH变量用于保存当前用户使用的命令搜索路径。当用户输入命令时,系统会尝试在该变量保存的目录中查找命令文件
note that:PATH使用冒号":"将不同的目录分隔开
2.只读环境变量
只读环境变量的值是无法更改的
3.如何修改环境变量
可以在命令提示符中修改环境变量,但在命令提示符中修改的环境变量将在用户重新登录 / 系统重启后消失,这是可以在配置文件中修改环境变量:
/etc/profile:全局用户配置文件。如果修改了此文件的设置,修改的设置将会影响系统中的所有用户
~/.bash_profile:用户个人配置文件。如果修改了此文件中的变量,修改的设置只会影响单个用户
/etc/bashrc:全局环境变量配置文件。此文件中定义了所有用户的环境变量
~/.bashrc:个人环境变量配置文件。此文件中定义了用户的环境变量
note that:~表示家目录 .bash_profile和.bashrc是隐藏文件(.开头的为隐藏文件) 以上四个文件单独修改一个即可,且有时可能某个文件不存在
如果想让修改后的环境变量立即生效,可以运行命令:
################################################
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
相关文章推荐
- PHP执行shell脚本运行程序不产生core文件
- shell文字过滤程序(十):cut命令
- Powershell 查找用户的主SMTP地址
- PowerShell 调用系统 DLL 中的函数,如何使用返回参数中的值
- shell 下执行mysql 命令
- 快速与MySQL交互,使用XMAPP打开MySQL数据库,并用shell进行与MySQL交互<Window 10>
- 使用Xshell连接Ubuntu
- ksh 格式化输出
- linux shell 管道命令(pipe)使用及与shell重定向区别
- Linux Shell 之 Shell 基本控制结构(一)(if and case)
- PowerShell 脚本在 Studio 中乱码
- Android系统在超级终端下必会的命令大全(adb shell命令大全)
- Linux Shell 之 Shell 数组建立与使用
- Powershell 获取特定的网页信息
- Powershell 获取特定的网页信息
- Hbase笔记三:Hbase基本命令
- calabash安装和使用
- 修改linux shell 提示符
- shell命令查漏
- 设置git bash可以用鼠标编辑