• Linux登录自动执行脚本


    一、所有用户每次登录时自动执行。
    1、在/etc/profile文件末尾添加。

    将启动命令添加到/etc/profile文件末尾。
    2、在/etc/profile.d/目录下添加sh脚本

    在/etc/profile.d/目录下新建sh脚本,设置每次登录自动执行脚本。有用户登录时,/etc/profile会遍历/etc/profile.d/*.sh。不要忘记修改文件权限。

    二、指定用户每次登录时自动执行。(此文件在用户的home目录下)
    1、在~/.bashrc文件末尾添加。

    将启动命令添加到~/.bashrc文件末尾。

    如果用的是cshell,就放到~/.cshrc文件末尾

    三、脚本间的区别。

    1、/etc/profile:此文件为系统的每个用户设置环境信息。当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。

    2、/etc/bashrc:为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。

    3、 ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息。当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。

    4、~/.bashrc::该文件包含专用于你的bash shell的bash信息。当登录时以及每次打开新的shell时,该文件都会被读取。

    5、~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件。另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。

    6、~/.bash_profile:该文件是交互式、login方式进入bash运行的,~/.bashrc是交互式non-login方式进入bash运行的,通常二者设置大致相同,所以通常前者会调用后者。

    四、利用这个来设置环境变量

    更新环境变量文件:

    1. source /etc/profile
    2. . /etc/profile 
    • 读取系统已有环境变量的方法;

    • export 显示当前系统定义的所有环境变量;

    • echo $PATH  输出当前的PATH环境变量的值。

    PATH 变量定义的是运行命令的查找路径,以冒号:分割不同的路径。

    方式一:export PATH

    export PATH=/usr/local/src/python3/bin:$PATH 
    # 或者把PATH放在前面 
    export PATH=$PATH:/usr/local/src/python3/bin
    注意点:

    生效时间:立即生效

    生效期限:当前打开的终端有效,终端关闭后无效

    生效范围:当前登录用户

    需要加上 $PATH,否则会覆盖原有路径

    方式二:vim ~/.bashrc

    1. vim ~/.bashrc

    2. # 在最后一行加上

    3. export PATH=$PATH:/usr/local/src/python3/bin

    注意点:

    生效时间:使用相同的用户打开新的终端时生效,或者手动 source ~/.bashrc 生效

    生效期限:永久有效

    生效范围:当前登录用户

    可能会被后续的环境变量文件覆盖了PATH的值

    04 方式三:vim ~/.bash_profile

    vim ~/.bash_profile 
    # 在最后一行加上
    export PATH=$PATH:/usr/local/src/python3/bin
    注意点:

    生效时间:使用相同的用户打开新的终端时生效,或者手动 source ~/.bash_profile 生效

    生效期限:永久有效

    生效范围:当前登录用户

    如果没有 ~/.bash_profile 文件,则可以编辑 ~/.profile 文件或者新建一个

    05 方式四:vim /etc/bashrc

    # 如果/etc/bashrc文件不可编辑,需要修改为可编辑 
    chmod -v u+w /etc/bashrc 
    vim /etc/bashrc 
    # 在最后一行加上 
    export PATH=$PATH:/usr/local/src/python3/bin
    注意点:

    生效时间:使用相同的用户打开新的终端时生效,或者手动source /etc/bashrc生效

    生效期限:永久有效

    生效范围:所有用户

    06 方式五:vim /etc/profile

    # 如果/etc/profile文件不可编辑,需要修改为可编辑 
    chmod -v u+w /etc/profile 
    vim /etc/profile 
    # 在最后一行加上 
    export PATH=$PATH:/usr/local/src/python3/bin
    注意点:

    生效时间:使用相同的用户打开新的终端时生效,或者手动source /etc/profile生效

    生效期限:永久有效

    生效范围:所有用户

    07 方式六:vim /etc/environment

    # 如果/etc/environment文件不可编辑,需要修改为可编辑 
    chmod -v u+w /etc/environment 
    vim /etc/environment 
    # 在最后一行加上 
    export PATH=$PATH:/usr/local/src/python3/bin
    注意点:

    生效时间:使用相同的用户打开新的终端时生效,或者手动source /etc/environment生效

    生效期限:永久有效

    生效范围:所有用户

    环境变量加载原理解析

    01 思考

    上述六种环境变量的配置方式, Linux是按什么顺序加载的呢?是否会相互覆盖相同的环境变量呢?

    02 环境变量的分类

    用户级别环境变量配置文件:

     ~/.bashrc

    ~/.profile

    ~/.bash_profile(centos7 无)

    /home/非root用户名/.bashrc

    系统级别环境变量配置文件:

    /etc/bashrc

    /etc/profile

    /etc/bash_profile(centos7 无)

    /etc/environment

    03 环境变量加载顺序

    1. /etc/environment

    2. /etc/profile

    3. /etc/bashrc

    4. ~/.profile

    5. ~/.bashrc

  • 相关阅读:
    敏捷管理的4价值观12准则
    网络IO概述
    阿里内部目前最完整“Spring全线笔记”,不止是全家桶,太完整了
    基于JAVA民宿网站管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
    大话CAS
    web前端三大主流框架
    【RocketMQ】(八)Rebalance负载均衡
    ORM模型--关联字段,抽象模型类
    ip地址与网络上的其他地址有冲突吗?
    通信原理 | 基本概念:信源、信道、噪声、信宿等
  • 原文地址:https://blog.csdn.net/qq_35789269/article/details/133691375