标签:linux—bash
备注:博客总结借鉴于马哥课堂笔记
时间:2015.09.07
linux_bash环境变量
bash解释
bash可以是一个命令语言解释器
bash环境配置:
配置文件,从生效范围可分为两类
全局配置:对所有所有用户bash都生效的
/etc/profile, /etc/profile.d/*.sh
/etc/bashrc
个人配置:只对当前的特定用户的bash生效
~/.bash_profile
~/.bashrc
按功能划分,存在两类:
profile类:为交互式登录的shell提供配置
/etc/profile,
/etc/profile.d/*.sh
~/.bash_profile
功用:
(1) 定义环境变量,例如PATH、PS1
(2) 运行命令或脚本
bashrc类:为非交互式登录shell提供配置
/etc/bashrc
~/.bashrc
功用:
(1) 定义命令别名;
(2) 定义本地变量;
变量:内存空间,变量名;可变化的量
类型:
环境变量:作用范围当前shell进程及其子进程
本地变量:作用范围当前shell进程
局部变量:作用范围仅为当前shell进程中某代码片断(通常为函数上下文)
位置变量:$1, $2
特殊变量:$?
变量定义方式:
bash内置变量:可直接调用,内置了许多环境变量,例如PATH等
自定义变量:
变量赋值:变量名=值
bash弱类型:
变量存储数据时,默认均采用字符形式;任何变量可以不经声明,直接引用;
120:24bits
120: 8bits
定义本地变量:
定义变量 name=value
进入下一个bash bash
查看:set
详情见下图:
定义环境变量:
定义环境变量 export name=value或者使用declare -x name=value
查看环境变量有多少个使用:env, printenv, export
见下图:
撤消变量:
unset name
见下图:
引用变量:
${name}, $name
bash中的引用符号:
‘‘: 强引用,变量替换不会发生
"":弱引用,变量替换会发生
``: 命令引用
shell登录类型:
交互式登录:
直接通过终端进行的登录;
通过su -l Username命令实现的用户切换;
非交互式登录:
图形界面下打开的命令行窗口;
执行脚本;
su Username;
配置文件作用次序:
交互式登录:
/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
非交互式登录:
~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh
次序越往后
编辑配置文件定义的新配置如何生效?
(1) 重新登录;
(2) 让当前shell进程去重新读取指定的配置文件;
source /PATH/TO/SOMEFILE
. /PATH/TO/SOMEFILE
注意:副作用
问题:
1、定义对所有用户都生效的别名?
vim /etc/bashrc
2、如果仅需要PATH环境变量的修改仅对root用户生效,该如何操作?
vim ~/.bash_profile
好,就此完毕。
本文出自 “IT-style” 博客,请务必保留此出处http://huichengu.blog.51cto.com/2495968/1692566
标签:linux—bash
原文地址:http://huichengu.blog.51cto.com/2495968/1692566