Linux变量
一.变量可分为两类:环境变量和本地变量
1.永久的:需要修改配置文件,变量永久生效。
2.临时的:使用export命令声明即可,关闭shell时失效,使用=号同样,但不作用到子shell中
二.变量可分为两类:环境变量和本地变量
1.环境变量:或称全局变量,存在与所有的shell 中,在登陆系统的时候就有了相应的系统定义的环境变量了。
Linux 的环境变量具有继承性,即子shell 会继承父shell 的环境变量。
2.本地变量:当前shell 中的变量,很显然本地变量中肯定包含环境变量。Linux 的本地变量的非环境变量不
具备继承性。
二.定义临时变量的2种方式
1. #变量名=赋值 //只对当前用户和窗口有效,非登陆用户无效(su 用户)
2. #export 变量名=赋值 //对当前用户,窗口,非登陆用户(su 用户)有效
//只对当前shell(BASH)或其子shell(BASH)有效,shell关闭,变量也失效,再
打开新shell时就没有此变量,要使用还需重新定义。
二.查看环境变量
env //查看所有环境变量,包括临时变量
set //查看所有本地定义的环境变量。
echo 是取变量值
pstree //查看系统里的进程树
“ 反引号内可使用命令
unset //删除指定环境变量。
三.设置变量开机启动生效
1)4个启动脚本
/etc/bashrc //对所有用户生效(永久的)
/etc/profile //对所有用户生效(永久的)
.bashrc //对单一用户有效,文件在每个用户的家目录下,为隐藏文件
.bash_profile //对单一用户有效,文件在每个用户的家目录下,为隐藏文件
注意:1)4个文件,作用范围不一样,/etc对所有用户有效,~只对单独用户有效
2)bashrc:用户登陆与非登陆shell都读
profile:用户只有登陆到shell时才读
3)#su 用户名 //非登陆
#su - 用户名 //登陆
#vim ~/.bashrc //定义别名
2)1个开机启动文件
#vim /etc/rc.local //开机启动文件,可把要启动的命令添加到这理
举例:
1. /etc/profile :
设置变量的三种方法
1)在/etc/profile文件中添加变量【对所有用户生效(永久的)】
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;
vi /home/guok/.bash.profile
注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户生效。
四.常用环境变量
echo $USER //查看当前用户
echo $UID //查看当前用户UID
echo $HOSTNAME //查看主机名
echo $PWD //查看当前目录
echo $LANG //查看当前系统语言
echo $HOME //当前用户的家目录
echo $SHELL //查看当前用户使用shell
echo $MAIL //当前用户的邮件存放目录
echo
echo $PATH //可设置开机启动命令
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PATH=$PATH:命令绝对路径 //可设置开机启动命令
vim ~/.bash_profile
PATH=$PATH:$HOME/bin:命令完整路径 //可设置开机启动命令
vim 脚本名.sh
!/bin/bash
脚本作用
echo “hello”
echo “dir”
pwd
echo “date”
date
echo “hostname”
echo $HOSTNAME