• 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命令

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

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

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

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

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

  1. 分享:shell去掉linux配置文件的注释行

    如何通过shell去掉Linux配置文件中的注释行呢? 本文给出两种解决方法,供大家参考. 方法1.使用grep -v "^#" 来去掉注释行,其中:-v 表示取反 ^# 表示注解 ...

  2. Bash Shell的环境配置文件

    login shell:取得bash时需要完整的登录流程 non-login shell:取得bash接口的方法不需要重复登录,举例来说,你以x window登录Linux后,再以x的图形界面启动终端 ...

  3. Linux Shell常用shell命令

    Linux Shell常用shell命令 一.文件.目录操作命令 1.ls命令 功能:显示文件和目录的信息 ls 以默认方式显示当前目录文件列表 ls -a 显示所有文件包括隐藏文件 ls -l 显示 ...

  4. Shell学习——Shell分类:登录shell和非登陆shell 交互shell和非交互shell

    1.从两个不同维度来划分,是否交互式,是否登录 2.交互式shell和非交互式shell 交互式模式:在终端上执行,shell等待你的输入,并且立即执行你提交的命令.这种模式被称作交互式是因为shel ...

  5. 【shell】shell脚本入门

    1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚 ...

  6. 我们一起来学Shell - 初识shell

    文章目录 Shell 的分类 `bash` `csh` `ksh` `tcsh` `sh` `nologin` `zsh` Shell 能做什么 bash 环境变量文件 `/etc/profile` ...

  7. 转:shell 经典, shell 十三问

      原文链接:http://blog.csdn.net/freexploit/article/details/626660 我在 CU 的日子并不长,有幸在 shell 版上与大家结缘.除了跟众前辈学 ...

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

    我自己的前言说明: 本文原作者为    Dave Kerr,原文链接为.NET Shell Extensions - Shell Context Menus:,我是在为了完成最新需求的时候查询资料的时 ...

  9. [拾 得] 一枚迷人的贝壳 SHELL / Linux | shell 脚本初步入门

    坚持知识分享,该文章由Alopex编著, 转载请注明源地址: http://www.cnblogs.com/alopex/   索引: 什么是shell shell的分类 shell脚本的执行方式   ...

  10. CMD & Git Shell & Bash Shell

    CMD & Git Shell & Bash Shell https://mvdan.cc/sh/cmd/shfmt PC

随机推荐

  1. URAL1012. K-based Numbers. Version 2

    链接 考查大数 正好拿来学习下JAVA JAVA好高端.. import java.io.*; import java.math.*; import java.text.*; import java. ...

  2. LA_3026_Period_(kmp)

    描述 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  3. PHP数组排列

    一.先看最简单的情况.有两个数组: $arr1 = array(1,9,5);$arr2 = array(6,2,4); array_multisort($arr1,$arr2); print_r($ ...

  4. 从头开始编写一个Orchard网上商店模块(4) - 创建ProductPart

    原文地址:http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-par ...

  5. 解决eclipse闪退的办法

    Eclipse Java EE 便出现打开闪退的现象. 修改eclipse.ini无效,参照了网上许多方法也不行. 最后发现了一个蛋疼的方法: 1.打开eclipse的workspace目录 2.删除 ...

  6. android中如何实现离线缓存

    离线缓存就是在网络畅通的情况下将从服务器收到的数据保存到本地,当网络断开之后直接读取本地文件中的数据. 将网络数据保存到本地: 你可以自己写一个保存数据成本地文件的方法,保存在android系统的任意 ...

  7. Javascript检测浏览器对CSS属性的支持 /* supports */

    //检测浏览器对CSS属性的支持 supports = (function() { var div = document.createElement('div'), vendors = 'Khtml ...

  8. Html笔记(三)列表

    列表标签: <dl> <dt>:上层标签 <dd>:下层标签 例: <dl> <dt>上层项目</dt> <dd>下 ...

  9. Android 多线程 异步加载

    Android 应用中需要显示网络图片时,图片的加载过程较为耗时,因此加载过程使用线程池进行管理, 同时使用本地缓存保存图片(当来回滚动ListView时,调用缓存的图片),这样加载和显示图片较为友好 ...

  10. HW1.3

    public class Solution { public static void main(String[] args) { System.out.println(" J A V V A ...