2. shell之shell配置文件

  • 1. shell配置文件的位置

最常用的shell有sh和bash等,此处只讲sh和bash

1.1. sh(Bourne Shell)配置文件主要有两个,分别为每个用户主目录中的.profile文件以及/etc/profile文件,前者是用户独有的,后者是所有用户共有的;.profile是在profile(有点复杂,不太明白)之后运行的,不具体讲解

1.2. bash(Bourne-Again Shell)配置文件主要有5个,其中4个位于用户主目录中,有一位位于/etc中;

bash_history 操作历史命令存放文件,只有当注销时,才会把用户登录过程中的操作命令写入到文件中,登录过程中执行的命令,不会立即写入文件,而是写在内存中。

.bash_logout文件在当前用户每次退出shell时执行,如果没特别要求,该文件内容为空

.bash_profile用来保存每个用户自己使用的shell信息;常用来设置环境变量,执行用户的.bashrc文件;下面的代码是某root用户的

# .bash_profile

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

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

.bash_profile文件内容从上面的代码可以看出,第5行调用用户主目录中的./bashrc文件,第10行设置PATH系统变量;第12行将系统变量导出

./bashrc包含专属于某个用户的bash的相关信息,下面的代码是某root用户的.bashrc文件内容

# .bashrc

# User specific aliases and functions

alias rm=‘rm -i‘
alias cp=‘cp -i‘
alias mv=‘mv -i‘

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

export PATH=/usr/local/arm/4.3.2/bin:$PATH

从上面内容可知,该文件主要用于定义别名和函数,例如第5行定义了别名;另外第11行还调用/etc/bashrc,第14行还设置PATH系统变量

/etc/bashrc与sh中的/etc/profile文件非常相似,它是所有的用户共同使用的文件,任何用户登录bash都会执行

作用:

1) 定义PS1(命令提示符)变量

2) umask

3) 定义PATH变量

4) 调用/etc/profile.d/*.sh文件

注意: linux不建议用户直接修改/etc/profile或者/etc/bashrc文件,应该尽量将用户的配置放在用户主目录中的对应文件中

2. 命令

2.1. source命令

[[email protected] ~]# source /etc/profile #让/etc/profile配置文件生效
[[email protected] ~]# ./etc/profile #与上面的命令效果一样

功能:在当前bash环境下读取并执行配置文件中的命令

3. 环境变量文件执行顺序

这个流程图还是不太明白!!如果各位知道的话,留下一个连接,在此谢过各位了!!

时间: 2024-10-06 02:37:20

2. shell之shell配置文件的相关文章

<转>shell经典,shell十三问

shell 十三问: 1) 为何叫做 shell ? 2) shell prompt(PS1) 与 Carriage Return(CR) 的关系? 3) 别人 echo.你也 echo ,是问 echo 知多少? 4) " "(双引号) 与 ' '(单引号)差在哪? 5) var=value?export 前后差在哪? 6) exec 跟 source 差在哪? 7) ( ) 与 { } 差在哪? 8) $(( )) 与 $( ) 还有${ } 差在哪? 9) [email prot

Linux Shell之一 Shell简介

玩Linux不知道Shell,那就是不懂Linux.这句话足以见证shell在Linux运维中的地位.一直想好好写下shell,但总是不知道如何写起,不是因为Shell太难,而是因为她太庞大,也可能是因为自己shell能力上的不足,怕不能体系化地了解Shell,但是要开始的终究还是要开始,Come On!什么是Shell     Shell是操作系统的最外层,Shell可以合并编程语言以控制进程和文件,以及启动和控制其它程序.shell 通过提示您输入,向操作系统解释该输入,然后处理来自操作系统

[翻译].NET Shell Extensions - Shell Context Menus---.net 外壳扩展之右键菜单

我自己的前言说明: 本文原作者为Dave Kerr,原文链接为.NET Shell Extensions - Shell Context Menus,我是在为了完成最新需求的时候查询资料的时候发现的,因为太久没有看外文资料了,所以为了锻炼一下翻译的,文中有一句未能翻译出来. Download SharpShell source code - 1.8 MB   Download SharpShell Tools - 181.1 KB  Download SharpShell core librar

什么是Shell?Shell脚本基础知识详细介绍

这篇文章主要介绍了什么是Shell?Shell脚本基础知识介绍,本文是一篇Shell脚本入门文章,在本文你可学到什么是Shell.有多少种Shell.一个Shell脚本代码实例,需要的朋友可以参考下 Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 它虽然不是Linux系统核心

Shell十三问更新总结版 -- 什么叫做 Shell?-- Shell十三问<第一问>

Shell十三问更新总结版 简介 ChinaUnix 论坛 Shell 版名为網中人的前辈于 2004 年发布的精华贴,最近回炉这块内容,觉得很多东西讲的实在透彻,非常感谢前辈網中人,同时我个人也对这个系列做了一些总结和备注,写于下面章节,虽然这篇文件写于2004年,但是Shell这个东西变化很少,这个系列希望能够帮助到大家提供给大家,有心学习的同学不要读一遍练习一遍就算完了,第一遍和第二遍和第十遍读这个系列,感受绝对不一样,疏漏处请见谅. 網中人原贴:http://bbs.chinaunix.

shell与shell script(2)

Shell 教程 shell 运算符 shell变量 shell字符串 shell传递参数 shell数组 >>返回 06.Shell 运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用. expr 是一款表达式计算工具,使用它能完成表达式的求值操作. 例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '

Shell Script-读取配置文件

需求 有时候在shell script里面需要一些执行,如果放在程序里面不便于统一管理,并且每一次修改路径都要去script里面改好麻烦,所以统一把路径放在配置文件中方便管理. 问题 如何读取相对应的key-value是主要问题,主要是用到IFS分隔符,记住使用时最好先备份原来的IFS,使用完记得还原IFS,否则会出现未知错误 配置文件(格式:”key = value“) 1 [csv] 2 splitHome = 20151214_QL/split_home 3 output = 201512

第一个shell脚本——修改配置文件

有需求,可以让自己偷懒才是学习的真正动力.由于测试环境在构建代码之后总是需要手动修改配置文件,因此边学习边完成了一个shell脚本,可以一键修改. 定义了一个函数,输出信息以绿色字体显示. function echo_green { echo -e "\033[32m$1\033[0m" } 输出提示信息 echo_green "是否一键修改xxx?(y/n)" 读取键盘输入 read answer 要修改的配置文件有两类:一类是明确清楚应该修改哪些字符串,直接用替

shell脚本,配置文件加载顺序,以及什么时候加载。

在linux系统中,有/etc/profile,/etc/bashrc ,~/.bash_profile,~/bashrc这四个配置文件,这些文件,会自动的在某些时候加载,也就是点一下,一般都是些别名,特殊变量里面.四个有加载顺序,最先加载的是etc开头的/etc/profile,然后是/etc/.bashrc,有一些版本没有/etc/.bashrc了已经,这俩叫做全局的,然后会根据登陆的用户加载家目录下的profile bashrc.为什么要这么加载有原因?如果全局设定a=1,你的家目录自己设