【linux_笔记】Linux_谈SHELL类型

学习资源来自:www.magedu.com

学习记录过程中难免出现错误,如有发现,还望大神们指出。

示例操作部分有的与历史操作有关,如果先前的示例操作没有执行过的话,可能会有部分示例的操作无法执行。示例仅供参考。


站在用户登录的角度来谈SHELL的类型:


    登录式shell:
        正常通过某终端登录
        su - USERNAME
        su -l USERNAME

    非登录式shell:
        su USERNAME
        图形终端下打开命令窗口
        自动执行的shell脚本
        
    bash的配置文件:


        按作用范围分类:
            全局配置(对所有用户都生效的文件)
                /etc/profile, /etc/profile.d/*.sh, /etc/bashrc
            个人配置
                ~/.bash_profile, ~/.bashrc


        按功用分类:       
            profile类的文件:
                设定环境变量(最终生效的是作用范围小配置)
                运行命令或脚本
            bashrc类的文件:
                设定本地变量
                定义命令别名
            
    登录式shell如何读取配置文件?
    /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

    非登录式shell如何配置文件?(不读取环境配置文件)
    ~/.bashrc --> /etc/basrc --> /etc/profile.d/*.sh


示例:
    修改配置文件并要求永久有效:
        su - hive ―― 切换至hive用户
        alias cls=clear
        cls ―― 清屏成功
        exit
        su - hive
        cls ―― 清屏失败
        nano .bashrc
            添加alias cls='clear'
        cls ―― 清屏失败,需要重新运行当前用户的shell才能读取新添加的配置文件
        exit
        su - hive
        cls ―― 清屏成功
        nano .bash_profile ―― 添加开机提示语
            添加 echo "Hello, hive. Welcome to out system. It is `date`.”
        logout
        su - hive




你可能感兴趣的:(bash的配置文件,(非)登录式shell)