-----------------------------------------------------------------------------------------

只有把环境变量放入配置文件中,才能每次开机自动生效。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变量:环境变量的配置文件和登录信息的更多相关文章

  1. Shell学习之环境变量配置文件(三)

    Shell学习之环境变量配置文件 目录 环境变量配置文件简介 环境变量配置文件作用 其他配置文件和登录信息 环境变量配置文件简介 环境变量配置文件简介 环境变量配置文件中主要是定义对系统操作环境生效的 ...

  2. Linux学习——shell编程之环境变量配置文件

    小白学习,在学习中总结! shell编程之环境变量配置文件 一:环境变量配置文件 1 shell编程之环境变量配置 变量类型: 用户自定义变量(本地变量) 环境变量 :定义每个用户的操作环境,如pat ...

  3. Linux 下Shell变量,环境变量的联系与区别

    Linux下Shell变量,环境变量的联系与区别 by:授客 QQ:1033553122 1.  简介 linux下的变量可分成两种:Shell变量和环境变量. Shell变量,又称本地变量,包括私有 ...

  4. Shell学习笔记 - 环境变量配置文件(转)

    一.source命令 功能:在当前bash环境下读取并执行配置文件中的命令 1. 命令格式 source 配置文件  或  . 配置文件 2. 命令示例 [root@localhost ~]# sou ...

  5. Shell学习笔记 - 环境变量配置文件

    一.source命令 功能:在当前bash环境下读取并执行配置文件中的命令 1. 命令格式 source 配置文件  或  . 配置文件 2. 命令示例 [root@localhost ~]# sou ...

  6. [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量

    --------------------------------------------------------------------------------- 变量是计算机内存的单元,其中存放的值 ...

  7. 管道符和作业控制 shell变量 环境变量配置文件

    8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 管道符和作业控制 管道符:表示把一个文件的输出内容传送到后面的命令 grep  用来过滤指定关键词的命令 “|” 为 ...

  8. shell编程之环境变量配置文件(4)

    1 source命令 修改了配置文件,并让它立刻生效,而不用重新登录 source 配置文件 或者 .配置文件 2 环境变量配置文件简介 PATH HISTSIZE PS1 HOSTNAME等环境变量 ...

  9. shell变量/环境变量和set/env/export用法_转

    转自:shell环境变量以及set,env,export的区别 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量,包括的私有变量以及用户变量.不 ...

随机推荐

  1. zookeeper系列之通信模型(转)

    本文的主题就是讲解Zookeeper通信模型,本节将通过一个概要图来说明Zookeeper的通信模型. Zookeeper的通信架构 在Zookeeper整个系统中,有3中角色的服务,client.F ...

  2. (String) 205.Isomorphic Strings

    Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...

  3. OPTIMIZE TABLE的作用--转载

    当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删 除操作后在数据文件中留下碎片所致.Discuz! 在系统数设置界面提供了数据表优化的功能,可以去除删除操作后留下的数据文件 ...

  4. 用递归方法求一个list的最大值

    极好的一张图,瞬间理解.然后留意一下边界条件直接搞定.

  5. 剑指Offer:面试题23——从上往下打印二叉树(java实现)

    问题描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 思路: 按照层次遍历的方法,使用队列辅助. 1.将根结点加入队列. 2.循环出队,打印当前元素,若该结点有左子树,则将其加入队列,若 ...

  6. hive日期函数

    今天select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss') UNIX时间戳转日期函数: from_unixtime 语法: from_ ...

  7. eclipse与myeclipse恢复已删除的文件和代码

    1.类文件的恢复 选择项目后右键-->选择Restore from Local history-->出现下面的界面: 勾选后按Restore就恢复了,真的很强大很方便:但我没有就此罢手,我 ...

  8. Jmeter之逻辑控制器(Logic Controller)

    Jmeter之逻辑控制器(Logic Controller) 前言: 1. Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in w ...

  9. 如何让我们的VMware虚拟机上网——转载

    一.必须检查你的windows系统的VMware DHCP Service 和VMware NAT Service这个两个服务是否启动.如果未启动请启动. 1,在开始windows里面输入servic ...

  10. console.log的应用

    这两天在学javascript,但是有个问题老是觉得很疑惑,那就是这两个表达式到底有啥区别,虽然结果输出都差不多,但是我想这个两个表达式被开发出来,肯定是有意义的吧!哪位高手解答下吧!Thanks i ...