linux系统当中的默认shell程序是bash.

我们经常需要对shell进行一些的配置,比如对于自己编译的程序,需要给全局变量PATH增加路径,又比如我们想定制我们的linux系统,使得每次在我们登录系统或者离开系统时,会自动的执行一些我们希望执行的程序。

这就需要“bash配置文件”的帮助。

需要了解一下下面的几个概念

—>在Debian系统中,有下面的几个bash初始化文件:

/etc/bash.bashrc—>系统级的新开bash时执行的文件
/etc/profile—>系统级的登录时执行的文件
~/.bashrc—>个人可以配置的新开bash时执行的文件
~/.profile—>个人可以配置的登录时执行的文件
—>对于bash的使用,有下面两种分类方式:

A.

需要登录的shell–>例如使用终端或者使用ssh登录系统时,需要输入用户名和密码来登录shell.
不需要登录的shell–>例如在登录到X系统之后,在桌面环境下打开一个虚拟终端,就不需要数据用户名密码,直接能够登录shell.

B.

需要交互的shell–>正常的在登录系统的情况下,需要人和计算机交互,输入命令,接收输出.
不需要交互的shell–>不需要人和机器交互.如在使用cron工具的时候执行的shell脚本就不需要人跟计算机进行交互.
—>使用bash初始化文件的作用:

设定全局变量名,如PATH等
设定prompt的表现形式
设定alias
执行一些我们在登录系统/离开系统,打开bash/关闭bash时希望自动运行的程序命令

下面就总结一下在不同的分类方式下使用到的bash初始化文件:

需要登录的情况下:/etc/profile—>~/.profile.其中/etc/profile仅仅在登录系统时执行一次,~/.profile可以不存在,且~/.profile中的重复设置会覆盖原先的/etc/profile的设置.需要注意的是,这两个文件只在用户登录系统的时候会被source到,一旦用户登录到了系统,而且之后比如又敲入bash等命令重新启动shell的话,此时这两个文件并不会被source。

不需要登录的情况下:/etc/bash.bashrc—>~/.bashrc.其中~/.bashrc可以不存在.每当新打开一个bash的时候,这两个文件都会被source一遍.且后面的设置有可能覆盖前面的设置.
无交互情况下:以上脚本都不source,如果系统中有全局变量ENV的定义,那么则source定义为ENV的文件.

转载于:https://www.cnblogs.com/lege/p/4235663.html

Debian中几个bash初始化脚本使用区别--【转载】相关推荐

  1. Table中Family和Qualifier的关系与区别(转载)

    Table中Family和Qualifier的关系与区别 就像用MySQL一样,我们要做的是表设计,MySQL中的表,行,列的在HBase已经有所区别了,在HBase中主要是Table和Family和 ...

  2. php中global什么意思,php中global与$GLOBAL的用法及区别(转载)

    php中global 与 $GLOBALS[""] 差别 原本觉得global和$GLOBALS除了写法不一样觉得,其他都一样,可是在实际利用中发现2者的差别还是很大的! 先看下面 ...

  3. linux as 4 内核版本,Linux Redhat AS 4中编译内核与以往版本的区别(转载)

    曾经被问及为何在Redhat AS4中找不到内核源代码目录,开始时回答对方在安装时漏选了源码包,对方回答我已经重装过四遍,一个包一个包找过来眼都对起来了也没找到.真见鬼,我在电话里说要不你先到/usr ...

  4. oracle中delete、truncate、drop的区别 (转载)

    一.delete 1.delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表 ...

  5. BASH SHELL 脚本基础

    什么是shell     Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命令语言.命令解释程序及程序设计语言的统称. shell是用户和Linux内核之间的接口程序, ...

  6. Linux shell 对话框,如何在 Bash Shell 脚本中显示对话框

    原标题:如何在 Bash Shell 脚本中显示对话框 这个教程给出几个如何使用类似zenity和whiptail的工具在Bash Shell 脚本中提供消息/对话框的例子.使用这些工具,你的脚本能够 ...

  7. 如何在 Linux 中创建并运行 Shell 脚本(Bash 初学者教程)

    文章目录 1.创建并运行第一个 shell 脚本 2.将 shell 脚本转换为 bash 脚本 3.为什么大多数 shell 脚本都包含 #! /bin/bash 在 shell 脚本的开头? 4. ...

  8. Shell脚本中:#!/bin/bash和#!/bin/sh

    转自:https://www.cnblogs.com/jonnyan/p/8798364.html 本文参考:https://www.cnblogs.com/aaronLinux/p/6885288. ...

  9. source ubuntu 退出_ubuntu停source、sh、bash、/执行脚本的区别

    ubuntu下source.sh.bash../执行脚本的区别 source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令.该filename ...

最新文章

  1. python项目-这4个Python实战项目,让你瞬间读懂Python!
  2. Codeforces 1479A. Searching Local Minimum(注意输入+二分)
  3. Uber CEO亲自体验送外卖:三个半小时挣了106美元
  4. mysql所选路径已经存在_【mysql第二次安装不了】mysql安装失败怎么清理干净?
  5. c语言编写转动惯量的数据处理函数,【物理实验】C语言处理刚体惯量数据,上物理实验的戳进.省90......
  6. matplotlib绘制鼠标的十字光标(自定义方式,官方实例)
  7. 计算机专业理学硕士,加州大学戴维斯分校
  8. 赠人玫瑰,手有余香, 下面请听仙居义工专题报道
  9. 实战腾讯云ORC文字识别
  10. 对Si446x驱动库的一些修改
  11. 博客园app for xamarin android一款简洁阅读的博客园android客户端
  12. RAR压缩包密码如何解密
  13. HTTP response codes
  14. 哪几款车型?适合狮子座的车友?
  15. html5创建三次贝塞尔曲线,HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
  16. 为什么win10只有一个账户而此电脑C盘“其他人员”却占用空间呢?
  17. 蜡烛图(K线图)-1简介
  18. 毕达哥拉斯(勾股定理)
  19. Piggy-Bank(最小完全背包问题)
  20. 山东省有哪些计算机专业大学排名,山东人工智能专业大学排名

热门文章

  1. 关于VC向导生成的COM的注册与反注册
  2. 亚洲杯:打平韩国即可小组第一 国足会继续带来惊喜吗?
  3. 服务器监控软件ZABBIX
  4. CentOS-7.2、7.5模板机制作
  5. 如何找出标有App Store 精华,Essentials的所有软件?
  6. Java 基础入门随笔(1) JavaSE版——java语言三种技术架构
  7. 【原创】VSFTP: Login failure: 530 Login incorrect的解决办法
  8. 开启Windows8里面的Hyper-V虚拟机功能
  9. 黑马lavarel教程---13、分页
  10. 根据id/类名/元素名称查找元素