码迷,mamicode.com
首页 > 系统相关 > 详细

linux bash基础

时间:2015-09-06 11:17:20      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:linux bash

bash环境配置:

    配置文件,生效范围划分,存在两类:

        全局配置:

            /etc/profile, /etc/profile.d/*.sh, /etc/bashrc

        个人配置:

            ~/.bash_profile, ~/.bashrc


    按功能划分,存在两类:

        profile类:为交互式登录的shell提供配置

            /etc/profile, /etc/profile.d/*.sh

            ~/.bash_profile

        功用:

            (1) 定义环境变量,例如PATH、PS1

            (2) 运行命令或脚本


    bashrc类:为非交互式登录shell提供配置

        /etc/bashrc

        ~/.bashrc


        功用:

            (1) 定义命令别名;

            (2) 定义本地变量;


    变量:内存空间,变量名

        类型:

            环境变量:作用范围当前shell进程及其子进程

            本地变量:作用范围当前shell进程

            局部变量:作用范围仅为当前shell进程中某代码片断(通常为函数上下文)


            位置变量:$1, $2

            特殊变量:$?(上一个命令的返回结果,正常为0,其他即为有错)


        变量定义方式:

            bash内置变量:可直接调用,内置了许多环境变量,例如PATH等

            自定义变量:

                变量赋值:变量名=值


        bash弱类型:

            变量存储数据时,默认均采用字符形式;任何变量可以不经声明,直接引用;

            120(字符类型):3byte

            120(数值类型): 1byte

            

            备注:这在php中也是这情况


    定义本地变量:

        name=value

        

        查看:set


    定义环境变量:

        export name=value

        declare -x name=value


        查看:env, printenv, export


    撤消变量:

        unset name


    引用变量:

        ${name}, $name


    bash中的引用符号:

        ‘‘: 强引用,变量替换不会发生

        "":弱引用

        ``: 命令引用


    shell登录类型:

        交互式登录:

            直接通过终端进行的登录;

            通过su -l Username命令实现的用户切换;

        

        非交互式登录:

            图形界面下打开的命令行窗口;

            执行脚本;

            su Username;


    配置文件作用次序:

        交互式登录:

            /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

        

        非交互式登录:

            ~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh


    编辑配置文件定义的新配置如何生效?

        (1) 重新登录;

        (2) 让当前shell进程去重新读取指定的配置文件;

            source /PATH/TO/SOMEFILE

            . /PATH/TO/SOMEFILE

            注意:有可能导致副作用


实战:   


1.定义对所有用都生效的别名?        

解答:只需vim /etc/bashrc即可


2.如果仅需要PATH环境变量的修改仅对root用户生效,该如何操作?

解答:vim ~/.bashrc即可 修改PATH变量


    

本文出自 “风之韵” 博客,请务必保留此出处http://chinalx1.blog.51cto.com/2334265/1691665

linux bash基础

标签:linux bash

原文地址:http://chinalx1.blog.51cto.com/2334265/1691665

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!