/etc/bashrc、/etc/profile、.bashrc、.bash_profile这几个文件的关系是什么呢?

2023-05-16

我们平时在配置一些环境变量的时候,经常会遇到这几个文件的修改,有的文档是修改/etc/bashrc,而有的文档则是要求修改.bashrc,那么这几个文件到底有什么关系呢?

首先说一下相同点,那就是这几个文件都可以设置环境变量,并且生效时间都是在用户登录的时候(或者使用source命令立即生效)。

相同点说完了,我们主要说一下不同点,这里从生效范围和执行顺序两个方面说

生效范围

/etc/profile/etc/bashrc,针对这两个文件的修改,比如添加环境变量,会在全局生效,针对所有用户,也就是说任何一个用户登录后,都可以使用这个环境变量。

.bashrc.bash_profile,这两个文件的修改,只是针对当前登录用户,并不影响其他登录用户的使用。比如我们在A用户下设置了变量TEST,B用户登录是无法使用这个变量的。

我们需要修改哪个文件呢?

这个就需要根据自己的需求,如果希望当前设置对所有用户生效,那么就可以修改/etc/profile/etc/bashrc,如果只希望对自己的用户生效,那么就修改.bashrc.bash_profie.

有人提出如果修改java或python的环境变量肯定希望所有用户都使用,那么是不是就需要修改/etc/profile/etc/bashrc呢?

但是如果你设置的是python3,而其他用户想要使用python2呢?所以最好是修改自己用户下的.bashrc.bash_profile文件。

执行顺序

用户登录后,这几个文件是按顺序执行的,这就意味着最后执行的那个文件,优先级最高。

我测试的方法是,逐个修改这几个文件,为同一个变量设置不同的值,然后依次登录,观察变量的结果。最后得出这几个文件的执行顺序是:

优先级顺序是相反的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

/etc/bashrc、/etc/profile、.bashrc、.bash_profile这几个文件的关系是什么呢? 的相关文章

  • “排序文件名 | uniq”不适用于大文件

    我可以从小文本文件中删除重复条目 但不能从大文本文件中删除重复条目 我有一个 4MB 的文件 文件的开头如下所示 aa aah aahed aahed aahing aahing aahs aahs aal aalii aalii aali
  • 健全性检查 SSH 公钥? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已要求用户提供他们的公共 id rsa pub ssh 密钥 然后将其放入 home theiraccount ssh authorized key
  • 混淆 bash 中存储的密码

    我有一个 bash 脚本 我需要编写密码才能运行程序 其他人可以看到它 有没有办法把密码写得不太明显 即使他可以在 bash 中执行相同的命令并获取密码 他也无法读取文本形式的密码 今天我这样做 PASSWORD 1234567 progr
  • 如何将 Markdown 文档批量转换为 HTML?

    我正在用 Markdown 编写一些文档 并为文档的每个部分创建一个单独的文件 我希望能够一次性将所有文件转换为 HTML 但我找不到其他人尝试过同样的事情 我使用的是 Mac 所以我认为一个简单的 bash 脚本应该能够处理它 但我从未在
  • 在bash中将两个变量相除

    我试图在 bash 中划分两个 var 这就是我得到的 var1 3 var2 4 echo var1 var2 我总是遇到语法错误 有谁知道出了什么问题吗 shell 解析仅对整数除法有用 var1 8 var2 4 echo var1
  • Bash:从给定时间减去 10 分钟

    在 bash 脚本中 如果我有一个代表时间的数字 格式为 hhmmss 或 hmmss 那么减去 10 分钟的最佳方法是什么 即 90000 gt 85000 这有点棘手 日期可以进行一般操作 即您可以执行以下操作 date date 10
  • 为什么我不能在 while 循环内评估?

    我想在循环中创建 bash 别名 其中循环从命令读取行 为了逐行读取输出 我相信我需要将输出通过管道传输到read 然而 当我这样做时 别名不存在 如果我将以下内容包含在我的 bashrc for x in a1 a2 do eval al
  • 在 nohup 中使用别名

    为什么以下不起作用 alias sayHello bin echo Hello world sayHello Hello world nohup sayHello nohup appending output to nohup out no
  • bash 或 sh 中的“=”和“==”运算符有什么区别

    我意识到 和 运算符都可以在 if 语句中使用 例如 var some string if var some string then doing something fi if var some string then doing some
  • 如何替换带引号的多单词字符串作为参数?

    我正在尝试替换包含多个带引号的单词的字符串变量作为命令的参数 因此 给出以下示例脚本 请注意 shebang 中的 x 这会导致输出被记录到 stderr bin bash x myArg hello world echo string i
  • 如何在 Bash 中将字符串转换为小写

    有办法进去吗bash questions tagged bash将字符串转换为小写字符串 例如 如果我有 a Hi all 我想将其转换为 hi all 有多种方法 POSIX标准 https en m wikipedia org wiki
  • 如何摆脱每个新终端会话上运行的某些内容?

    我正在使用狮子 我在每个新的终端会话上都会输出一个错误 bash rvm add to path command not found 这是一个几乎全新的用户帐户 RVM 安装在计算机上的另一个帐户上 bashrc 和 bash profil
  • Bash:查找并连接文件

    我有以下结构 home DIR1 file ab csv DIR2 file cd csv DIR3 file3 ef csv Where file csv包含多行浮点数 每个 DIR 都有不同的浮点数 我想抓取所有的内容file csv文
  • envsubst 不能进行就地替换吗?

    我有一个配置文件 其中包含一些 ENV VARIABLE 样式的变量 This is my file It might contain EXAMPLES of text 现在我希望将该变量替换为保存在实际环境变量中的值 所以我正在尝试这个
  • 当我通过 shell 脚本创建 .txt 文件时,为什么文件名末尾出现问号? [复制]

    这个问题在这里已经有答案了 我正在编写一个 shell 脚本 我应该在其中创建 1 个文本文件 当我这样做时 文件名末尾出现一个问号 是什么原因 我正在 bash 脚本中尝试以下方法 1 grep ERROR a1 gt text txt
  • 如何“grep”连续流?

    可以用吗grep在连续的流中 我的意思是有点tail f
  • Bash 完成脚本在某些参数选项后完成文件路径

    我正在为命令行工具编写 bash 完成脚本 plink local cur prev opts COMPREPLY cur COMP WORDS COMP CWORD prev COMP WORDS COMP CWORD 1 opts 1
  • Bash 中 $() 和 () 之间的区别

    当我打字时ls l echo file 支架的输出 这只是简单的回显 被获取并传递到外部ls l命令 就等于简单的ls l file 当我打字时ls l echo file 我们有错误 因为不能嵌套 内部外部命令 有人可以帮助我理解之间的区
  • Bash - 如何将参数传递给通过标准输入读取的脚本

    我正在尝试从标准输入执行脚本并将参数传递给它 有办法做到吗 假设我有以下内容 cat script sh bash 我如何将参数传递给脚本 我不想这样做 bash script sh arguments 也不是这个 script sh ar
  • 将终端颜色扩展到行尾

    我有一个生成 motd 的 bash 脚本 问题取决于某些终端设置 我不确定颜色是否会延伸到行尾 其他时候则不然 e g v s IIRC 一个只是普通的 gnome 终端 另一个是我的 tmux 术语 所以我的问题是如何才能将其扩展到 8

随机推荐

  • 麻将胡牌逻辑 java

    最近写了一个麻将的胡牌逻辑 xff0c 这个麻将是没有万字牌 和 东西南北风牌 xff0c 以前也写过麻将胡牌逻辑 xff0c 都没有记录 xff0c 这次记录一下 xff0c 方便以后查阅 胡牌 64 param isZiMo 是否自摸
  • ucos 学习书籍

    ucos学习书籍整理记录 xff1a 入门看一本 xff0c 加上实例不用一周就上手了 嵌入式实时操作系统uc os 2 是邵贝贝翻译的 理解与提升 xff0c 应用提高 xff1a 嵌入式实时操作系统uc os 2原理及应用 任哲 嵌入式
  • SEO作外链9个没有套路完全免费收录的分类目录网站

    分类目录是指通过人工的方式收集网站资源 xff0c 并把这些拥有一定价值的网站资源通过人工的方式对他们的主题进行整理组织之后 xff0c 存放到相应的目录下面 xff0c 从而形成的网站分类目录的体系 搜索引擎非常重视高质量分类目录这样的外
  • 12个(发外链)完全免费、免费收录没有套路的分类目录网站

    广大网民肯定疑惑什么是分类目录网站呢 xff1f 分类目录网站是指 xff1a 把所有网站人工或系统类别进行分开 xff0c 分开到各个相应的目录下 分类目录也可以这样的理解为是指通过人工的方式收集各行业网站资源 xff0c 并把这些拥有一
  • linux系统进程间通信方式(二):消息队列

    简介 本文章继续介绍linux进程间通信的方式 xff1a 消息队列 消息队列也是system V的IPC对象 xff0c 它也是存在于内核中 xff0c 有自己的ID xff1b 并且通过一个唯一的key来绑定它 linux提供了一些ap
  • linux学习shell脚本或命令时“ >/dev/null 2>&1 “相关知识说明

    在学习Linux的过程中 常会看到一些终端命令或者程序中有 34 gt dev null 2 gt amp 1 34 出现 由于已经遇到了好几次了 为了理解清楚 不妨花点时间百度或者google一下相关的知识 0 表示键盘输入 stdin
  • linux--journalctl 日志查看方法

    1 概述 日志管理工具journalctl是centos7上专有的日志管理工具 xff0c 该工具是从message这个文件里读取信息 Systemd统一管理所有Unit的启动日志 带来的好处就是 xff0c 可以只用journalctl一
  • 使用putty软件通过SSH方式登录华为设备时出现“Signature from server‘s host key is invalid”错误的解决方法

    问题现象 使用putty软件 xff08 0 71及之后的版本 xff09 通过SSH方式登录时可能会出现 Signature from server s host key is invalid 错误提示 xff1a 解决方法 方法1 xf
  • diy 企业级路由器(route os )

    Mikrotik Router Os 来自拉托维亚 xff0c 一个不起眼的欧洲小国家 xff0c 但是它的功能却是很强大 今天我就用口碑比较好的 ROS2 9 6 版进行讲解了 主要功能 xff1a IP 路由 支持无线热区 PPPoE
  • 双系统Ubuntu 18.04 + ROS Melodic + openvins +VINS-mono + Realsense L515 环境配置

    Ubuntu 18 04 准备工作 电脑图标右键 管理 磁盘管理 xff0c 选择空闲空间的D或E盘右键 压缩卷 压缩102400 xff08 100G xff09 下载ubuntu 18 04 6 desktop amd64 iso ht
  • C++语法复习笔记-9.C++STl、Boost库、多线程编程(进行中)

    文章目录 1 STL1 概览2 容器2 1 序列式容器vector list deque初始化遍历 for each函数 2 2 适配器stack queue priority queue初始化访问方式 2 3 关联型容器map set插入
  • SSD与HDD如何混合组raid并永久挂载硬盘?

    前言 xff1a 服务器上同时装有SSD和HDD硬盘 xff0c 如果想把系统装在SSD上 xff0c HDD用来存数据 xff0c 那么服务器应该如何组raid xff1f 又如何设置HDD硬盘永久挂载 xff1f 下面将以装有1个SSD
  • Golang 报错 | 操作mysql提示busy buffer

    背景说明 在使用github com go sql driver mysql 驱动操作数据库 xff0c 获取信息时报错 代码块 span class token keyword func span span class token fun
  • Python | 打印进度条的三种方法

    不使用模块 xff0c 手动打印进度条 span class token keyword def span span class token function Run span span class token punctuation sp
  • Nginx配置禁止IP访问

    时间背景 使用Nginx代理服务 xff0c 请求先到前端的代理服务器 xff0c 然后由代理服务器的nginx转发请求到后端的服务器 开始默认没有对IP访问做限制 xff0c 现在要求禁止IP访问 xff0c 大概是一个这样的架构 xff
  • git如何使用tag

    简介 我们可以创建一个tag来指向软件开发中的一个关键时期 xff0c 比如版本号更新的时候可以建一个 v2 0 v3 1 之类的标签 xff0c 这样在以后回顾的时候会比较方便 tag的使用很简单 xff0c 主要操作有 xff1a 查看
  • linux服务器最大支持连接数

    当我们被问到一台linux服务器最多可以支持多少连接时 xff0c 很多人第一反应是65535个 xff0c 因为端口是65535个 xff0c 还有人说受到TCP连接里四元组的空间大小限制 xff0c 那么到底是多少 xff1f 首先解释
  • Linux提示空间已满,找不到大文件

    当我们发现磁盘快满了 xff0c 然后删除某些服务的日志文件 xff0c 删除后发现磁盘空间仍然被占用 xff0c 但我们使用 du sh 命令 xff0c 发现目录下没有大文件 xff0c 这时我们应该考虑 xff0c 删除日志文件时 x
  • passwd修改用户密码报错

    故障现象 xff1a 1 修改密码时报错 passwd Authentication token manipulation error 2 添加用户报错 xff1a unable to lock password file 分析问题 xff
  • /etc/bashrc、/etc/profile、.bashrc、.bash_profile这几个文件的关系是什么呢?

    我们平时在配置一些环境变量的时候 xff0c 经常会遇到这几个文件的修改 xff0c 有的文档是修改 etc bashrc xff0c 而有的文档则是要求修改 bashrc xff0c 那么这几个文件到底有什么关系呢 xff1f 首先说一下