码迷,mamicode.com
首页 > 其他好文 > 详细

Bash特性

时间:2016-08-26 00:02:23      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:bash 特性

bash快捷键

    ctrl+a: 快速跳至命令行首(或home键)

    ctrl+e: 跳至行尾

    ctrl+u: 删除命令行首至当前光标所在处

    ctrl+k: 删除当前光标所在处至命令行尾

    ctrl+l: 清屏

    ctrl+c: 终止

    ctrl+z: 把当前命令送至后台

bash环境:shell

     解释器:解释并提供了编程环境

      解释:

        词法分析

        语法分析

        语义分析

      

     过程式编程语言:

      顺序执行

      选择执行

      循环执行

    脚本:使用bash提供控制机制,将期望执行的命令罗列于文本文件中

      bash没有库,整个程序几乎都依赖于系统命令来完成。

    编译型:

      源程序(文本文件)--》预处理--》编译--》汇编--》链接

      静态语言

    解释型:

      源程序(文本文件)--》解析器读取直接解释执行

      动态语言,变量无需事先声明,可直接使用

    bash变量

        变量类别:

          本地变量:只对当前进程有效 由init开始,

            变量赋值:VAR_NAME=VALUE

            变量引用:echo ${VAR_NAME}

                "":弱引用,引用变量的值

                ‘‘:强引用,里面的所有字符都直接引用

          环境变量:只对当前shell进程及其子进程有效

            定义:export VAR_NAME=VALUE

            导出:export VAR_NAME

            撤消变量: unset VAR_NAME

            只读变量: readonly VAR_NAME            


          局部变量:只对shell脚本中某片段有效,通常用于函数本地

            local VAR_NAME=VALUE

          位置变量:

            $1, $2, .... ${10}

          特殊变量:

            $?   

    查看当前shell进程中的所有变量: # set

    查看当前shell进程中的所有环境变量: export, printenv, env


    变量命名:

      1,不能使用程序中的关键字(保留字)

        if,case,for

      2, 只能使用数字、字母和下划线,且不能以数字开头

      3,要见名知义

        userName,尽量不要全大写,以免与系统变量冲突。区分大小写(首字母不要大写)


    变量类型的意义:

      1,存储机制:占用的位数不同 

        二进制

        文本: ASCII码, 128常用字符,7位二进制  

      2,存储空间

      3, 参与的运算方式

    变量类型:

      数值型:

        精确数值:整数

        近似数值:浮点型

            单精度

            双精度

        字符型:

            char

            sting

        布尔型:

            true,false

        日期时间,可认为数值型

       

    bash是弱类型的语言,一切皆字符(默认不定义类型则为字符型)


bash的配置文件:

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

    全局:

      /etc/profile

       /etc/profile.d/*.sh 

    用户:

      ~/.bash_profile 

    功用:

      1、设定环境变量

      2、运行命令或脚本

  bashrc类: 为非交互式用户提供配置   

     全局:

      /etc/bashrc

    用户:

      ~/.bashrc

    功用:

      1、设定本地变量

      2、定义命令别名

  登录类型:

    交互式:

      直接通过终端输入帐号密码登录

      使用su -l USERNAME

    非交互式:

      su USERNAME

      图形界面下打开的终端

      执行脚本

  配置文件的生效方式:

    1、退出并重登录

    2、重读此文件

        . FILE

        source FILE

    export PATH=/usr/local/apache/bin:$PATH  此处最后面的$PATH注意不可省略  


  交互登录的用户:

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

  非交互登录的用户:

    ~/.bashrc --> /etc/bashrc --> /etc/profile

   

例: 令cdnet=‘cd /etc/sysconfig/network-scripts‘ 全局生效

方法:vi /etc/bashrc   最后填加一行: alias cdnet=‘cd /etc/sysconfig-network-scripts‘

       

Bash特性

标签:bash 特性

原文地址:http://41080138.blog.51cto.com/2587513/1842606

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