bashrc和profile区别
转载请注明出处:
- 作用与目的:
.bashrc:这个文件主要用于配置和自定义用户的终端环境和行为。每次启动新的终端时,.bashrc文件都会被执行,加载用户设置的环境变量、别名、函数等。这使得用户能够根据自己的喜好和需求来定制终端的行为和外观。profile(通常指的是~/.profile或/etc/profile):这个文件主要用于在用户登录时设置环境变量和运行命令。对于/etc/profile,它是为系统的每个用户设置环境信息的,并在用户第一次登录时被执行。而~/.profile则允许用户为每个登录会话定制特定的环境设置。
- 执行时机:
.bashrc:在用户登录时以及每次打开新的shell时都会被读取和执行。这意味着.bashrc中的设置会影响到用户在当前终端会话中的所有操作。profile:主要在用户登录时执行一次。因此,它通常用于设置一些需要在整个登录会话期间保持不变的环境变量和命令。
- 内容与应用范围:
.bashrc:通常包含与终端环境和行为相关的设置,如别名、函数、提示符样式、颜色等。这些设置主要影响用户在终端中的交互体验。profile:通常用于设置全局的环境变量和命令,这些变量和命令对于用户的整个登录会话都是可见的。此外,/etc/profile还可能从/etc/profile.d/目录中搜集其他的shell设置。
- 使用情境:
- 如果你希望自定义终端的外观和行为,比如修改提示符样式、添加别名等,你应该在
.bashrc中进行配置。 - 如果你需要设置一些全局的环境变量或命令,这些变量和命令需要在整个登录会话期间都可用,你应该在
profile文件中进行配置。
- 如果你希望自定义终端的外观和行为,比如修改提示符样式、添加别名等,你应该在
5.bashrc 使用示例
- 设置环境变量:
# 在.bashrc文件的末尾添加以下行,设置PATH环境变量以包含用户本地bin目录
export PATH="$PATH:$HOME/.local/bin" 定义别名:
# 使用alias定义别名,将ll作为ls -lha的简写
alias ll='ls -lha'- 加载其他脚本:
# 加载自定义的bash脚本文件
if [ -f ~/.bash_custom ]; then
. ~/.bash_custom
fi 注意事项:
.bashrc文件在用户每次启动新的非登录shell时都会执行。- 修改
.bashrc后,可以通过执行source ~/.bashrc命令使更改立即生效,或者关闭并重新打开终端。
- 设置环境变量:
6. profile 使用示例
- 设置全局环境变量:
# 在/etc/profile文件的末尾添加以下行,设置JAVA_HOME环境变量
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH="$PATH:$JAVA_HOME/bin" 加载用户级启动脚本:
# 在~/.profile文件的末尾添加以下行,加载用户自定义的启动脚本
if [ -f ~/.profile_custom ]; then
. ~/.profile_custom
fi定义登录时执行的命令:
# 当用户登录时,显示一条欢迎消息
echo "Welcome, $USER. Enjoy your session!"注意事项:
profile文件在用户登录时执行一次,并影响整个登录会话。- 修改
/etc/profile需要系统管理员权限,而修改~/.profile则只需要用户权限。 - 修改
profile文件后,用户可能需要注销并重新登录才能使更改生效。
- 设置全局环境变量:
bashrc和profile区别的更多相关文章
- [转]bashrc与profile区别
作者:KornLee 2005-02-03 15:49:57 来自:Linux先生 /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/pro ...
- [转] - bashrc与profile的区别
bashrc与profile的区别 要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell. ...
- linux关于bashrc与profile的区别(转)
转载自:http://www.cnblogs.com/hongzg1982/articles/2101792.html bashrc与profile的区别 要搞清bashrc与profile的区别,首 ...
- linux中bashrc与profile的区别
bashrc与profile的区别 要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell. ...
- Linux基础知识之bashrc和profile的用途和区别
使用终端ssh登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理. ...
- Linux环境变量设置/etc/profile、/etc/bashrc、~/.profile、~/.bashrc区别
登入系统读取步骤: 当登入系统时候获得一个shell进程时,其读取环境设定档有三步 : 1.首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如 /etc/p ...
- bashrc和profile的用途和区别
使用终端登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理. She ...
- 【转】Linux中/etc/profile,/etc/bashrc,~/.profile,~/.bashrcd的区别
//因为在原文章中博主说以下内容是网友说的,所以我就只加个转了,找不到原作者 /etc/profile,/etc/bashrc 是系统全局环境变量设定 ~/.profile,~/.bashrc用户家目 ...
- Linux bashrc和profile的用途和区别
导读 使用终端ssh登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处 ...
- etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc等配置文件区别
什么是交互式shell和非交互式shell,什么是login shell 和non-login shell. 交互式模式:就是shell等待你的输入,并且执行你提交的命令.这种模式被称作交互式是因为s ...
随机推荐
- maven 创建spring boot 需要的配置[一]
前言 之所以写这个是因为现在官方推荐云创建: 所以标注一下maven project,创建后,如何导入spring boot. 正文 1.步骤一 在pom.xml 中加入: <dependenc ...
- 社区首款 OAM 可视化平台发布!
作者 | 徐运元,杭州谐云科技合伙人及资深架构师,云计算行业和 Kubernetes 生态资深从业者 导读:什么是 OAM?2019 年 10 月 17 日,阿里巴巴合伙人.阿里云智能基础产品事业部总 ...
- MaxCompute非事务表如何更新数据
简介: 本文主要讲解如何通过insert overwrite更新数据 背景 对于大数据中的大多数存储格式,支持随机更新非常复杂.它需要扫描大型文件,MaxCompute推出了最新的功能Transact ...
- 数据库误操作后悔药来了:AnalyticDB PostgreSQL教你实现分布式一致性备份恢复
简介: 本文将介绍AnalyticDB PostgreSQL版备份恢复的原理与使用方法. 一.背景 AnalyticDB PostgreSQL版(简称ADB PG)是阿里云数据库团队基于Postgr ...
- 基于MaxCompute+PAI的用户增长方案实践
简介: 如何通过PAI+MaxCompute完成用户增长模型AARRR全链路,包含拉新.促活.留存.创收.分享. 本文作者 李博 阿里云智能 高级产品专家 在过去一年阿里云PAI机器学习团队做了很多 ...
- Fixing Missing Windows App Runtime Environment Prompt for Unpackaged WinUI 3 Applications
This article will tell you how to fix the prompt for a missing Windows App Runtime environment when ...
- VisualStudio 在 DebuggerDisplay 的属性更改业务逻辑将会让调试和非调试下逻辑不同
本文记录我写的逗比代码,我在 DebuggerDisplay 对应的属性的 get 方法上,在这个方法里面修改了业务逻辑,如修改界面元素,此时我在 VisualStudio 断点调试下和非断点调试下的 ...
- 微软开源 MS-DOS「GitHub 热点速览」
上周又是被「大模型」霸榜的一周,各种 AI.LLM.ChatGPT.Sora.RAG 的开源项目在 GitHub 上"争相斗艳".这不 Meta 刚开源 Llama 3 没几天,苹 ...
- NumPy 数组切片及数据类型介绍
NumPy 数组切片 NumPy 数组切片用于从数组中提取子集.它类似于 Python 中的列表切片,但支持多维数组. 一维数组切片 要从一维数组中提取子集,可以使用方括号 [] 并指定切片.切片由起 ...
- golang基础之结构体
匿名结构体 在定义一些临时数据结构等场景下还可以使用匿名结构体. 在函数体内 package main import ( "fmt" ) func main() { //方法一 v ...