zoukankan      html  css  js  c++  java
  • bash变量和逻辑运行

    Bash特性及bash脚本编程初步

    终端,附着在终端的接口程序

        GUI:KDE,Gnome,Xfce,

        CLI:/etc/shells

    1:Bash的特性:

        命令行展开:~,{}

        命令别名:alias,unalias

        命令历史 :history

        文件名通配:glob

        命令补全:$PATH

       

    2:Bash特性之:命令hash(hash is a shell builtin,确定并记住每一个给定NAME名称的完整路径,如果不提供参数,则显示已经记住的命令的信息。)

    命令hash:缓存此前命令的查找结果:key-value

    Hash命令:

        Hash:列出

        Hash –d command:删除

        Hash –r:清空

    3:Bash特性之变量:

        程序:指令+数据

             指令:由程序文件提供

             数据:IO设备,文件,管道,变量

        程序:算法+数据结构

        变量名+指向的内存空间

        变量赋值:name=value

        变量类型:存储格式,表示数据范围,参与的运算

        编程语言:

             强类型变量

             弱类型变量:

    bash把所有变量统统视作字符型

                 bash中的变量无需事先声明(相当于把声明和赋值过程同时实现)

                 声明:类型,变量名称

        变量替换:把变量名出现的位置替换为其所指向的内存空间中的数据

        变量引用:${var_name},$var_name

        变量名:变量名只能包含数字,字母,下划线,而且不能以数字开头,不能够使用程序关键字

        变量名:见名知义,命名机制遵循某种法则

        bash变量类型:

             (1):本地变量:作用域范围公为当前shell进程

                      变量赋值:name=value

                      变量引用:${name},$name

                      “”:变量名会替换为值

                      ‘’:变量名不会替换值

                      查看变量:set

                      撤消变量:unset name

                     

             (2):环境变量:作用域为当前shell进程及子进程

                 变量赋值:

                      (1):export name=value

                      (2):name=value,export name

                      (3):declare –x name=value

                      (4):name=value,declare –x name

                 变量引用:${name},$name

             注意:bash内嵌了许多环境变量(通常为全大写字符),用于定义bash的工作环境

             PATH,HISTFILE,HISTSIZE,HOME,UID,PWD,OLDPWD

                 查看环境变量:export,env,declare –x,print env

                 撤消环境变量:unset name

                 只读变量:(只读变量不能重新赋值,并且不支持撤销,存活时间为当前shell进程的生命周期,随shell进程终止而终止)

    declare –r name

    readonly name

            (3):局部变量:作用域仅为代码片段(函数上下文件)

             (4):位置参数变量:向执行脚本的shell进程传递的参数

             (5):特殊变量:shell内置的有特殊功用的变量

             $?:执行命令的结果及状态

                 0:表未成功

                 1-255:失败

    Bash特性之多命令执行:

    ~]#COMMAND1;COMMAND2;COMMAND3

    逻辑运算:

    运算符:

    真(true,yes,on,1)

             假(false,no,off,0)

        与:两者都为真才为真

        或:有一个为真就为真

        非:取反

        异或:

    短路法则:

        1:COMMAND1 && COMMAND2

             如果COMMAND1为假,COMMAND2不执行

             如果COMMAND1为真,COMMAND2执行

        2:COMMAND1 || COMMAND2

             如果COMMAND1为真,COMMAND2不执行

             如果COMMAND1为假,COMMAND2执行

  • 相关阅读:
    51Nod 1007 正整数分组(01背包)
    二叉树层次遍历(以先序输入)
    HttpContext.Current.Request.Url
    SqlDataReader和SqlDataAdapter的区别
    DataSet和DataTable详解
    DataTable和DataSet什么区别
    Git 忽略
    hack速查表
    ie6常见css bug
    详说 IE hasLayout
  • 原文地址:https://www.cnblogs.com/gaoyuxia/p/12322089.html
Copyright © 2011-2022 走看看