bashrc和profile区别

  1. 作用与目的:
    • .bashrc:这个文件主要用于配置和自定义用户的终端环境和行为。每次启动新的终端时,.bashrc文件都会被执行,加载用户设置的环境变量、别名、函数等。这使得用户能够根据自己的喜好和需求来定制终端的行为和外观。
    • profile(通常指的是~/.profile/etc/profile):这个文件主要用于在用户登录时设置环境变量和运行命令。对于/etc/profile,它是为系统的每个用户设置环境信息的,并在用户第一次登录时被执行。而~/.profile则允许用户为每个登录会话定制特定的环境设置。
  2. 执行时机:
    • .bashrc:在用户登录时以及每次打开新的shell时都会被读取和执行。这意味着.bashrc中的设置会影响到用户在当前终端会话中的所有操作。
    • profile:主要在用户登录时执行一次。因此,它通常用于设置一些需要在整个登录会话期间保持不变的环境变量和命令。
  3. 内容与应用范围:
    • .bashrc:通常包含与终端环境和行为相关的设置,如别名、函数、提示符样式、颜色等。这些设置主要影响用户在终端中的交互体验。
    • profile:通常用于设置全局的环境变量和命令,这些变量和命令对于用户的整个登录会话都是可见的。此外,/etc/profile还可能从/etc/profile.d/目录中搜集其他的shell设置。
  4. 使用情境:
    • 如果你希望自定义终端的外观和行为,比如修改提示符样式、添加别名等,你应该在.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文件后,用户可能需要注销并重新登录才能使更改生效。

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

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

相关文章

如何通过编程获取桌面分辨率、操作像素点颜色、保存位图和JPG格式图片,以及图片数据的处理和存储方式

本节课在线学习视频(网盘地址,保存后即可免费观看): ​​https://pan.quark.cn/s/c474d087e76f​​ 在图形编程中,获取桌面分辨率、操作像素点颜色、保存和处理图片数据是常见任务。本文将介绍如何通过编程实现这些操…

沃尔玛验厂报告的颜色分级

Walmart沃尔玛每年评估约 14000 份第三方社会责任验厂报告。沃尔玛验厂总的原则是,工厂从RBA、BSCI、SA8000等11个第三方社会责任验厂标准中,自由选择其中一个来进行验厂,验厂结束以后,把验厂报告提交给沃尔玛;然后沃尔…

【Pmac】PMAC QT联合开发中各种可能遇到的坑

目录 1. 错误 C2027 使用了未定义类型“PCOMMSERVERLib::DEVUPLOAD”2. 输入了正确的pmac的ip地址,没有显示可选的pmac设备3. Pmac DTC-28B无读数 使用QT编写PMAC上位机程序时,利用QT中的dump工具可以将pcommserver.exe转化为pcommserverlib.h和pcommser…

Java并发编程之线程基础

线程通知与等待 Java中的Object类是所有类的父类,鉴于继承机制,Java把所有类都需要的方法放到了Object类里面,其中就包括了线程的通知和等待。 wait以及notify 当一个线程调用一个共享变量的wait()方法时,该调用线程会被阻塞挂…

mysql数据库迁移步骤

备份数据库: mysqldump -u [username] -p[password] [database_name] > [database_name].sql 注意:“-u”与用户名之间有一个空格,而“-p”与密码之间没有空格 恢复数据库: mysql -u [username] -p[password] [database_name]…

调度算法-内存页面置换算法

缺⻚异常(缺⻚中断) 与⼀般中断的主要区别在于: 缺⻚中断在指令执⾏「期间」产⽣和处理中断信号,⽽⼀般中断在⼀条指令执⾏「完成」后检查和处理中断信号。缺⻚中断返回到该指令的开始重新执⾏「该指令」,⽽⼀般中断返…

【HarmonyOS】鸿蒙应用模块化实现

【HarmonyOS】鸿蒙应用模块化实现 一、Module的概念 Module是HarmonyOS应用的基本功能单元,包含了源代码、资源文件、第三方库及应用清单文件,每一个Module都可以独立进行编译和运行。一个HarmonyOS应用通常会包含一个或多个Module,因此&am…

简单处理字符串——6.14山大软院项目实训1

对于直接输出服务器返回的json到Debug,发现他还包含json的结构,但是不想调试json的返回结构,可以使用简单地处理字符串的方法,而不引入额外的库或复杂的JSON解析,但是这个解决方式是暂时的是投机取巧的,正确…

我主编的电子技术实验手册(08)——串联电阻分压

本专栏是笔者主编教材(图0所示)的电子版,依托简易的元器件和仪表安排了30多个实验,主要面向经费不太充足的中高职院校。每个实验都安排了必不可少的【预习知识】,精心设计的【实验步骤】,全面丰富的【思考习…

单例及工厂模式适合的场景

工厂模式适合以下场景: 1. **对象的创建与使用分离**:工厂模式可以将对象的创建和使用分离,客户端只需要通过工厂来创建对象,而无需关心对象的具体实现细节。 2. **对象的类型不容易预先确定**:当需要根据条件动态创…

Golang——gRPC认证和拦截器

一. OpenSSL 1.1 介绍 OpenSSL是一个开放源代码的软件库包,用于支持网络通讯过程中的加密。这个库提供的功能包含了SSL和TLS协议的实现,并可用于生成密钥、证书、进行密码运算等。 其组成主要包括一下三个组件: openssl:多用途的命…

有效招聘营销策略的六个组成部分

任何想吸引更多人购买其产品的公司都必须投资于市场营销。然而,当涉及到让更多的人了解公司的工作时,许多有效的营销活动可能不是招聘团队的首要考虑因素。为了超越招聘委员会上的“发布祈祷”策略,有必要包括有效招聘营销策略的所有组成部分…

车联网车载设备

智能网联主要通过OBU(On Board Unit,车载单元)实现。OBU是一种安装在车辆上用于实现V2X通信的硬件设备,可实现和其他车辆OBU(PC5)、路侧RSU(PC5)、行人(PC5)和V2X平台&am…

基于Redis实现共享session登录

搭配食用:Redis(基础篇)-CSDN博客 项目实现前的 Mysql中的表: 表说明tb_user用户表tb_user_info用户详情表tb_shop商户信息表tb_shop_type商户类型表tb_blog用户日记表(达人探店日记)tb_follow用户关注表tb_voucher优…

vlcplayer for android 源码编译log打印

vlcplayer for android 源码编译log打印 这篇文章记录了vlcplayer for android 开源库中libvlc.so中添加log打印的方法。 主要针对libvlc源码中msg_Info/msg_Err/msg_Warn/msg_Dbg 函数打印输出到Android log中。修改如下: vlc-android/libvlcjni/vlc/include/vlc…

c++编写自己的assert断言

文章目录 前言实现 前言 在 c c c中&#xff0c;assert只在debug模式下起作用&#xff0c;为了在release下也使用&#xff0c;我们可以实现自己的assert 实现 #include<iostream> #include<cstdlib>bool myAssert(bool expr, const char* file, const char* f…

if/case条件测试语句

一 条件测试 1.1返回码 $? $? 返回码 用来哦按段命令或者脚本是否执行成功 0 true为真就是成功成立 非0 false 失败或者异常 1.2 test 命令 可以进行条件测试 然后根据返回值来判断条件是否成立 -e &#xff1a;exist 测试目录或者目录是否存在 -d : director…

多目标跟踪 (MOT) 算法简介

据说即将开始的欧洲杯将会采用VAR来辅助裁判执法&#xff0c;这无疑将成为本届赛事的一大亮点。VAR&#xff0c;即视频助理裁判&#xff0c;是指在足球比赛中&#xff0c;裁判可以通过视频回放来辅助做出判罚。自2017年国际足联正式将VAR引入足球比赛以来&#xff0c;它已经在世…

【产品经理】订单处理6-审单方案

电商系统中订单管理员会对特殊类型的订单进行审核&#xff0c;普通订单则自动审核&#xff0c;本节讲述自动审单方案、手动审单以及加急审单。 一、自动审单 自动审单方案可按照方案形式制定&#xff0c;可一次性制定多套审单方案。 1. 审单通过条件有 执行店铺&#xff…

同三维T80006EHL-4K30CN 单路4K30 HDMI编码器(全国产化)

同三维T80006EHL-4K30CN 单路4K30 HDMI编码器 带1路HDMI环出和1路3.5音频输入&#xff0c;支持4K30&#xff0c;所有元器件全国产 一、 产品简介&#xff1a; T80006EHL-4K30CN 4K编码器&#xff08;采集盒&#xff09;是一款全国产化的专业4K HDMI音视频编码产品&#xff0c;…