linux shell 环境变量

来源:互联网 发布:如何做网络舆情监测员 编辑:程序博客网 时间:2024/09/21 07:51
shell 环境变量
环境变量可以理解为存储永久数据的一种简便方法。


环境变量分为全局变量和局部变量。


全局变量对shell创建的子进程也可见,局部变量只对
当前shell本身可见


查看全局变量的命令:printenv


没有直接查看局部环境变量的命令,set命令会显示该
进程的所有变量,当然包括全局变量。


设置局部变量就是shell编程中变量的赋值,可以直接使用等号
赋值,字符串需要添加单引号来让系统识别是设置变量。


设置全局变量就是先创建局部变量,然后在导入到全局变量中。
这个过程可以使用export命令来完成。
test=zhou
export zhou
echo $zhou


可以使用unset命令删除环境变量
unset  zhou 
但是如果你是在子进程中删除环境变量,它只是对子进程有效
对父进程来说,它仍然可以使用。


重要的环境变量path,有些命令的目录path变量的值中并没有
,所以需要添加,添加过程如下:
echo $PATH
PATH=$PATH:/home/bin


登录shell会从4个不同的文件中读取命令:
/etc/profile
$HOME/.bash_profile
$HOME/.bash_login
$HOME/.profile
其中/etc/profile是主要的启动文件,系统上每个用户登录
时都会启动这个文件,另外3个文件是用户专用的。


交互式shell会读取用户目录中的bashrc文件,该文件的作用:
1、查看/etc下共用的bashrc文件
2、为用户提供一个定制自己命令的别名和私有脚本函数的地方。
交互式shell的启动文件只会在每次有新的交互式shell启动时才会运行


环境变量还可以作为数组使用,值放在小括号中,
值与值之间用空格分割。
test=(one two three four  five)
echo ${test【2】}显示数组中的值,显示整个数据可以使用*
也可以使用unset删除整个数组


命令别名
查看命令别名:alias -p
创建命令别名:alias  li='ls -il'
命令创建的别名只在当前shell中有效
如果想都有效可以在交互式shell中的启动文件bashrc中指定。


常用的环境变量
PATH 决定了shell将到哪些目录中寻找命令或程序 
HOME 当前用户主目录 
HISTSIZE 历史记录数 
LOGNAME 当前用户的登录名 
HOSTNAME 指主机的名称 
SHELL 当前用户Shell类型 
LANGUGE  语言相关的环境变量,多语言可以修改此环境变量 
MAIL 当前用户的邮件存放目录 
PS1 基本提示符,对于root用户是#,对于普通用户是$
原创粉丝点击