• shell脚本分类


    shell脚本分为三类:登录脚本、交互式脚本、非交互式脚本

     

    一、

    登录脚本类似于windows下的计算机设置中的登录脚本和账户设置下的登录脚本的合集(我是这么理解的哈)。

    其配置文件的关键词为prefile,它有以下几个关键配置文件:

    /etc/prefile 这个是计算机脚本; [$home/.prefile ; $home/.bash_prefile ; $home/.bash_login]这三个是账户脚本,根据不同发行版名字不同(坑爹的linux) ;

     

    说明:/etc/prefile之所以这么牛逼,应该与其内部含有export有关,export定义的环境变量,将被定义为全局变量。

     

    读取顺序

    登入账号前/etc/profile >> /etc/profile.d/*                                        #/etc/profile 利用for循环调用 /etc/prefile.d/*

    登入账号时$home/.profile >> $home/.bashrc(如果有内容的话) 

     

    这个顺序我也不是太确定,书中没有明确说,不过应该不会错。

     

    二、

    交互式脚本,主要用于登录账号后,新的shell进程创建时调用,它不会再调用/etc/prefile。根据其特性:利用alisa 创建别名的时候,就可以将其写入到$home/.bashrc,因为你每次启动终端模拟包或者shell的时候,总会去调用它。

     

    其配置文件的关键词为bashrc,它有以下几个关键配置文件:

    $home/.bashrc ;/etc/bashrc

    $home/.bashrc 此脚本会调用/etc/bashrc,而/etc/bashrc又会调用/etc/profile.d/

    说明:/etc/bashrc隶属于/etc,不用说,肯定是任何账户都必须要读取的

     

    读取顺序$home/.bashrc >> /etc/bashrc  >> /etc/profile.d/*

     

    图示:

     

    三、

    非交互式脚本,主要用于系统执行shell脚本时调用。

    linux有一个全局环境变量BASH_ENV,此环境变量的作用就是为了让非交互式脚本实现其价值,但默认此变量没有设置。

    你可以用BASH_ENV=***来给它点活干干。当然要想长期使用,还得加到./bashrc。

    [星空刺] |-->一颗星辰一闪即逝,支撑它的唯有方向和目的
  • 相关阅读:
    解决博客园中代码着色问题
    使用OutputDebugString输出调试信息
    Android编程小实验
    在安卓3.0以下版本使用Fragment的注意事项
    开源中国客户端源码阅读笔记
    C++基础
    IO流
    OAuth笔记
    反射
    链表
  • 原文地址:https://www.cnblogs.com/aaa103439/p/3437200.html
Copyright © 2020-2023  润新知