.bash_profile和.bashrc说明

/etc/pro file: 

此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc: 
为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:
该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.
~/.bash_logout:
当每次退出系统(退出bash shell)时,执行该文件. 

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系. 
~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的
通常二者设置大致相同,所以通常前者会调用后者。

 
* 每次bash作为login shell启动时会执行.bash_profile。

主要有(我所知道的)有以下几种情形:

a) 每次登录到服务器时默认启动的shell

b) “su -l [USER]”时进入的shell

c) “bash --login”进入的shell

* 每次bash作为普通的交互shell(interactive shell)启动时会执行.bashrc

常见的有:

i) “su [USER]”进入的shell
ii) 直接运行“bash”命令进入的shell。

** 注意

1, 在shell脚本中“#!/usr/bin/bash”启动的bash并不执行.bashrc。因为这里的bash不是
    interactive shell。

2, bash作为login shell(login bash)启动时并不执行.bashrc。虽然该shell也是interactive shell,
   但它不是普通的shell。

* 一般.bash_profile里都会调用.bashrc

尽管login bash启动时不会自动执行.bashrc,惯例上会在.bash_profile中显式调用.bashrc。

,-------------------------------------
| if [ -f ~/.bashrc ]; then
|    . ~/.bashrc
| fi
`-------------------------------------

 .bash_profile显示内容如下:
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=.:$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"

export USERNAME BASH_E

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

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

相关文章

Android Nine-patch

做了好多客户端软件了,突然发现里面有好多图片都是重复的,个别只是大小不一样,每次都使用大量图片,导致软件过大,项目总结的时候才发现Android已经提供了一种解决方案了,这就是NinePatchDrawable&#xff0…

稍微成型点的用WEBSOCKET实现的实时日志LOG输出

难的是还是就地用JS显示出来相关的发布进度。 还好,花了一下午实现了。 可以移植到项目中去罗。。。 websocket.py: import tornado.ioloop import tornado.web import tornado.websocket from tornado.ioloop import IOLoop from datetime import timed…

一些常用的SAS命令

一些常用的SAS命令 1. 转换文本数据文件的数据步的一般形式为: data 数据集名;infile 文件名; input 变量输入设定; run; 2. 指定逻辑文件名语句的一般形式为:filename 逻辑文件名 ‘文件位置’&#xff…

.NET6之MiniAPI(四):配置

配置文件,是一个每个应用服务程序常用的功能,从原来的终端应用时代,到现在的元宇宙时代,配置都是很悠然自得的存在。asp.net core提供了强大的配置文件访问机制,不管是MVC API还是MiniAPI,使用方式都是相同…

LeetCode:Sudoku Solver Valid Sudouku

其实数独还是我挺喜欢的一个游戏。原来有本数独的书。 其实Sudoku是基于Valid Sudouku.其实一开始有点想太多。基于平常玩数独的经验,有很多解数独的规则。貌似这个人为判断因素比较多。 而且一开始理解的valid是有解无解,其实这里要求的是给定的board里…

Ubuntu之SVN客户端安装+使用

下载SVN 我们先使用sudo apt-get source sudo apt-get update 然后下载svn sudo apt-get install subversion 一步继续一步,每次y 安装成功之后 svn --version查看。 使用 2、 新建一个目录,cd 到新建目录下,将文件 checkout 到本地目录:svn checkout svn://192.168.1…

《SAS编程与数据挖掘商业案例》学习笔记之十一

继续读书笔记,本文重点侧重sas观测值的操作方面, 主要包括:输出观测值、更新观测值、删除观测值、停止输出观测值等 1.output语句 输出当前在pdv中的观测值,继续无条件执行下面的语句。 注意:简单的data步不需要outp…

【1】淘宝sdk装修入门引言

淘宝sdk开发者要具备的一些要求:【1】photoshop图像处理能力【2】html常用标签的基础知识【3】htmlcss布局的基础知识【4】简单的php输出语句【5】对淘宝装修的一些基本了解淘宝sdk的开发流程:【1】设计平面效果图【2】创建本地模板文件【3】创建自定义设…

基于嵌入式webserver的服务器状态监控

其实也是在easyhadoop做第二次重构的时候用到了这个嵌入式的webserver去做服务器状态的监控,可以单独摘出来写个东西。思路主要是用python脚本获取linux服务器的各种状态信息,然后用webserver的方式,以json数据发给http,主控节点去…

Yii框架里用grid.CGridView调用pager扩展不显示最后一页按钮的解决

有如下一例,调用zii.widgets.grid.CGridView显示Blog信息,代码如下: 1 $this->widget(zii.widgets.grid.CGridView, 2 array(3 id>blog-grid,4 dataProvider>$model->search(),5 filter>$model,6 pa…

.NET 6新特性试用 | PeriodicTimer

前言在.NET中,已经存在了5个Timer类:System.Threading.TimerSystem.Timers.TimerSystem.Web.UI.TimerSystem.Windows.Forms.TimerSystem.Windows.Threading.DispatcherTimer不管以前这样设计的原因,现在.NET 6又为我们增加了一个新Timer&…

shell--指“提供使用者使用界面”的软件(命令解析器)

在计算机科学中,Shell俗称壳(用来区别于核), 是指“提供使用者使用界面”的软件(命令解析器)。 它类似于DOS下的command.com。它接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语…

《SAS编程与数据挖掘商业案例》学习笔记之十三

本次重点:data步循环与控制 涉及:if/then/else语句,select语句,do语句,continue语句,leave语句 1.if then else 语句 高效率的if应用: 1) If x1 then y1; Else if x2 then y2; Els…

ChatForFun 公众号使用说明

使用方法 2016-07-16 DennisMi ChatForFun1,发送 #1 实现登陆,或者退出登陆 2,发送 #2 实现加入聊天,和退出聊天 3,聊天开始后,可以直接发送消息 4,如果需要退出登陆或者退出聊天,…

sessionfunctionphp实战第六天

最近研究sessionfunction,稍微总结一下,以后继续补充: 今天学习了做后台页面,很失败就不展示了。 php方面:以下代码可以屏蔽php注意级别的错误,即 抛出任何非注意错误 error_reporting(E_ALL&~E_NOTICE…

利用WebBrowser实现Web打印的分析

利用WebBrowser实现Web打印的分析 原文:利用WebBrowser实现Web打印的分析WebBrowser是IE内置的浏览器控件,无需用户下载。本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容。其他版本的IE应该也支持。与其相关的技术要求有:打印文档的生成、页面设…

强大的grep命令

强大的grep命令网上关于grep命令的解释一搜一大堆,基本都是把man命令大致翻译了一下,说实话,看完就忘!个人认为,学习命令最好的方式就是模拟真实环境,写出一些可能用到的命令组合,然后慢慢消化&…