Linux登录自动执行脚本

news2024/11/26 4:24:03

一、所有用户每次登录时自动执行。
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运行的,通常二者设置大致相同,所以通常前者会调用后者。

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

更新环境变量文件:

source /etc/profile
或
. /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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1070800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文带你读懂残差网络ResNet

🚀 作者 :“码上有钱” 🚀 文章简介 :AI-残差算法 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬简介 残差网络(Residual Neural Network, ResNet)是深度神经网络的一种。它通…

2.1 关系数据结构及形式化定义

思维导图: 2.1.1 关系 笔记: 关系数据库模型是一个简单但强大的方式来表示数据及其之间的关系。下面是这节的关键内容: - **关系模型核心概念** * 关系数据模型的核心是“关系”,它在逻辑上表现为一个二维表。 * 此表中&a…

Cesium问题——在使用贴图的方式加载图片时并未加载出来

文章目录 问题分析问题 Cesium在使用贴图的方式加载图片失败 分析 如果在Cesium中加载图片时,控制台显示成功(200状态码),但是预览显示却失败了,可能有以下几个原因: 图片格式不受支持:Cesium中通常支持常见的图片格式,如JPEG、PNG等。确保你使用的图片格式在Cesium中…

Spring Boot中实现发送文本、带附件和HTML邮件

SpringBoot实现发送邮箱 引言 在现代应用程序中,电子邮件通常是不可或缺的一部分。在Spring Boot中,你可以轻松地实现发送不同类型的邮件,包括文本、带附件和HTML邮件。本博客将向你展示如何使用Spring Boot发送这些不同类型的电子邮件。 步…

《从零开始学ARM》勘误

1. 50页 2 51页 3 236页 14.2.3 mkU-Boot 修改为: mkuboot 4 56页 修改为: 位[31:24]为条件标志位域,用f表示; 位[23:16]为状态位域,用s表示; 位[15:8]为扩展位域&…

前端页面布局之【Grid布局】详解

目录 🌟前言🌟浏览器支持🌟Gird简介和基本概念🌟属性介绍🌟 父元素上的属性🌟 设置grid布局🌟设置网格的列数与行数🌟通过网格单元的名字来布局 grid-template-areas🌟设…

资深8年测试总结,web网页测试bug定位详细步骤,一文打通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、前置条件 1&a…

助力农作物病虫害检测识别,基于yolov3—yolov8开发构建马铃薯作物甲虫检测识别系统

AI加持的智慧农业也是一个比较有前景的赛道,近些年来已经有很多不错的方向做出来成绩,基于AI的激光除草、灭虫等也是其中的一个热门,杂草相关的检测识别在我们之前的项目实例中已经有相关的实践了,这里本文的主要目的就是以农作物…

最短路径专题8 交通枢纽 (Floyd求最短路 )

题目: 样例: 输入 4 5 2 0 1 1 0 2 5 0 3 3 1 2 2 2 3 4 0 2 输出 0 7 思路: 由题意,绘制了该城市的地图之后,由给出的 k 个编号作为起点,求该点到各个点之间的最短距离之和最小的点是哪个,并…

分布式数据库(林子雨慕课课程)

文章目录 4. 分布式数据库HBase4.1 HBase简介4.2 HBase数据模型4.3 HBase的实现原理4.4 HBase运行机制4.5 HBase的应用方案4.6 HBase安装和编程实战 4. 分布式数据库HBase 4.1 HBase简介 HBase是BigTable的开源实现 对于网页搜索主要分为两个阶段 1.建立整个网页索引&#xf…

第八章 排序 十四、最佳归并树

目录 一、定义 二、多路最佳归并树 三、多路最佳归并树少了一个归并段 四、总结 一、定义 最佳归并树是指将若干个有序序列合并成一个有序序列的一种方式,使得所有合并操作的总代价最小的一棵二叉树。其中,代价通常指合并两个有序序列的操作次数或比…

挑选出优秀的项目管理软件,满足您的需求

Zoho Projects是很好的一个项目管理软件,不管是web端还是APP没有那些乱七八糟的广告,光是这一点,就让人用着很舒服。除此之外还有更多让人意想不到的惊喜,软件界面设置的井井有条,关键是软件有完全免费版的&#xff0c…

mp4视频太大怎么压缩变小?

mp4视频太大怎么压缩变小?确实,很多培训和教学都转向了线上模式,这使得我们需要下载或分享大量的在线教学视频。然而,由于MP4视频文件通常较大,可能会遇到无法打开或发送的问题。为了解决这个问题,我们可以…

WMS仓储管理系统在快消品生产企业中有哪些应用

随着企业规模的扩大和市场竞争的加剧,仓库管理在企业管理中的地位越来越重要。对于快消品生产企业来说,仓库管理更是关系到产品的质量和市场竞争力。为了提高仓库管理的效率和准确性,许多企业开始引入WMS仓储管理系统解决方案。 中小企业WMS系…

网络安全(黑客)——自学

前言: 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“…

山东济南建筑模板厂家批发之桉木芯建筑模板

济南建筑模板厂家是建筑行业中非常重要的供应商之一。建筑模板是建筑施工中必不可少的一种材料,用于支撑混凝土浇筑和模板安装。在选择建筑模板材料时,我们需要考虑各类材料的特点和优缺点,以及与传统的建筑木模板相比的价格、耐用性和经济效…

软件测试/测试开发丨Python文件操作 学习笔记

点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/27721 文件操作 在程序中操作文件和使用图形界面操作文件的过程基本一致,都要进行找到文件位置,打开文件,读写文件&am…

架构方法、模型、范式、治理

从架构方法、模型、范式、治理等四个方面介绍架构的概念和方法论、典型业务场景下的架构范式、不同架构的治理特点这3个方面的内容

ChatGPT 背后包含了哪些技术?

ChatGPT 是由OpenAI开发的一款基于GPT-3(Generative Pre-trained Transformer 3)的人工智能语言模型。这个模型是使用多种编程语言和技术组合编写的。 首先,ChatGPT 使用了 Python 作为主要的编程语言。Python 是一种流行的高级编程语言&…

Vue3+TypeScript

一、Vue3带来的变化(源码) 源码通过monorepo的形式来管理源代码 口Mono:单个 口Repo : repository仓库 口主要是将许多项目的代码存储在同一个repository中; 口这样做的目的是多个包本身相互独立,可以有自己的功能逻辑、单元测试等,同时又在…