[Shell]Bash变量:环境变量的配置文件和登录信息
-----------------------------------------------------------------------------------------
只有把环境变量放入配置文件中,才能每次开机自动生效。source命令:让配置文件直接生效,而不用注销或重新登录。
source 配置文件 或者 . 配置文件(等同于 source 配置文件)
【系统中五类环境变量配置文件】
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc
( etc目录内环境变量配置文件对所有用户有效,~开头的只对当前用户有效 )
【配置文件的执行流程】
/etc/profile ------> ~/.bash_profile ------> ~/.bash_rc ------> /etc/bashrc ------- 命令提示符
| |
|--------------> /etc/profile.d/*.sh(加载这里面的所有脚本) <--------|
|
|
/etc/profile.d/lang.sh -----> /etc/locale.conf( LANG="en_US.UTF-8" )
第一条路:
/etc/profile -> /etc/profile.d/*.sh ->
第二条路:
vi ~/.bash_profile
# .bash_profile # Get the aliases and functions ( 如果家目录下有.bashrc, 则执行 )
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin ( 环境变量追加家目录下的bin目录,我这里的$HOME是 /home/weichen ) export PATH ( 设为环境变量 )
如果想把某个目录作为系统默认搜索命令的路径,并永久生效,就可以写在这个配置文件中。
vi ~/.bashrc
# .bashrc # Source global definitions ( 如果有/etc/bashrc 文件,则执行 )
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi # Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER= # User specific aliases and functions ( 如果需要定义系统命令别名,可以写在这个配置文件 ) alias vi=vim
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
vi /etc/bashrc
定义PS1变量
umask
PATH变量
调用/etc/profile.d/*.sh文件 (此文件仅针对 no login shell)
【总结】
想让配置永久生效,可以写在上面的任意一个配置文件中,但要注意:是对所有用户生效还是当前用户;后面的文件配置内容将覆盖前面的,除非使用变量叠加。
【其它配置文件和登录信息】
~/.bash_logout
默认是空的,如果想让系统注销时执行一些命令,可以写在这个配置文件中。
比如:使退出终端时清除历史命令记录,加入 history -c
~/.bash_history
历史命令的保存文件,只有 history -w 或者 注销登录 才会写到文件中,是系统排错时的重要依据,但是在设置密码后要清空历史命令。
Shell登录信息:
1. 本地终端登录信息:/etc/issue
\d 显示当前系统日期
\s 显示操作系统名称
\l 显示登录的终端号,这个比较常用
\m 显示硬件体系结构,如i386、i686等
\n 显示主机名
\o 显示域名
\r 显示内核版本
\t 显示当前系统时间
\u 显示当前登录用户的序列号
2. 远程终端登录信息:/etc/issue.net
上面的转义符在/etc/issue.net文件中不能使用
是否显示此登录信息,由ssh的配置文件/etc/ssh/sshd_config决定,加入“ Banner /etc/issue.net ” 行才能显示(记得重启SSH服务)
编辑:
vi /etc/ssh/sshd_config 加入:
#Banner none
Banner /etc/issue.net 重启:
service sshd restart
3. 登录后欢迎信息:/etc/motd
不管是本地登录还是远程登录,都可以显示此提示信息。
This is Alibaba Cloud Elastic Compute Service ! Warning: If you are not administrater, please logout!
Otherwise you will take legal responsibility!
Link:http://www.cnblogs.com/farwish/p/4772115.html
[Shell]Bash变量:环境变量的配置文件和登录信息的更多相关文章
- Shell学习之环境变量配置文件(三)
Shell学习之环境变量配置文件 目录 环境变量配置文件简介 环境变量配置文件作用 其他配置文件和登录信息 环境变量配置文件简介 环境变量配置文件简介 环境变量配置文件中主要是定义对系统操作环境生效的 ...
- Linux学习——shell编程之环境变量配置文件
小白学习,在学习中总结! shell编程之环境变量配置文件 一:环境变量配置文件 1 shell编程之环境变量配置 变量类型: 用户自定义变量(本地变量) 环境变量 :定义每个用户的操作环境,如pat ...
- Linux 下Shell变量,环境变量的联系与区别
Linux下Shell变量,环境变量的联系与区别 by:授客 QQ:1033553122 1. 简介 linux下的变量可分成两种:Shell变量和环境变量. Shell变量,又称本地变量,包括私有 ...
- Shell学习笔记 - 环境变量配置文件(转)
一.source命令 功能:在当前bash环境下读取并执行配置文件中的命令 1. 命令格式 source 配置文件 或 . 配置文件 2. 命令示例 [root@localhost ~]# sou ...
- Shell学习笔记 - 环境变量配置文件
一.source命令 功能:在当前bash环境下读取并执行配置文件中的命令 1. 命令格式 source 配置文件 或 . 配置文件 2. 命令示例 [root@localhost ~]# sou ...
- [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量
--------------------------------------------------------------------------------- 变量是计算机内存的单元,其中存放的值 ...
- 管道符和作业控制 shell变量 环境变量配置文件
8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 管道符和作业控制 管道符:表示把一个文件的输出内容传送到后面的命令 grep 用来过滤指定关键词的命令 “|” 为 ...
- shell编程之环境变量配置文件(4)
1 source命令 修改了配置文件,并让它立刻生效,而不用重新登录 source 配置文件 或者 .配置文件 2 环境变量配置文件简介 PATH HISTSIZE PS1 HOSTNAME等环境变量 ...
- shell变量/环境变量和set/env/export用法_转
转自:shell环境变量以及set,env,export的区别 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量,包括的私有变量以及用户变量.不 ...
随机推荐
- RMAN_学习笔记3_RMAN Catalog恢复目录
2014-12-23 Created By BaoXinjian
- vim(5)vim下wimrc的配置,解决中文乱码问题
解决linux下vim乱码的情况:(修改vimrc的内容) 全局的情况下:即所有用户都能用这个配置 文件地址:/etc/vimrc 在文件中添加: ,ucs-bom,gb18030,gbk,gb231 ...
- 从头来之【图解针对虚拟机iOS开发环境搭建】
1.下载Mac OSX10.9. 点击下载 2.下载VMware Workstation 10,点击下载,网页中包含序列号.安装VM. 3.VM10-MacOS补丁.用于创建苹果虚拟机. 安装VM就不 ...
- centos6.4安装VMwareTools
centos6.4安装VMware Tools,同样适用于VMware.ESXi.Hypervisor #如果文件不存在需要创建 mkdir /mnt/cdrom #挂载光驱 mount -t aut ...
- AX 2012 SSRS print setting-报表打印输出设置
static void callerreport_printsetting(Args _args) { LedgerJournalController controller = new LedgerJ ...
- EventBus的一个bug??
今天遇到了一个很奇怪的问题,activity A打开B,A和B中都注册了eventbus,都会接一个list的参数,当然两个list的参数不同,居然会报一个异常,A中List的参数会变成B的类型,错误 ...
- Mysql函数instr、locate、position VS like
Mysql 大家都会用这样的語法: SELECT `column` FROM `table` where `condition` like `%keyword%’ 事实上,可以使用 locate 和 ...
- brew安装
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #454545 } span.s1 { font: 12. ...
- Form文件夹开发步骤
1.开发完一个Form,测试OK 1.添加Object Groups 操作如下:在同一窗口打开标准的Form APPSTAND.FMB 和我们自己客制的Form,并且选择APPSTAND.FMB的Ob ...
- c++的类与对象
对象:此对象,非彼对象,:-D,跟妹子无关(不过貌似也可以,,),闲言少叙,书归正传 我们可以把我们见到的一切事物都称为对象.它可以有形,可以无形,可以简单,可以复杂,但是对某一种具体的对象,比如公司 ...