bash变量和逻辑运行

bash 特性及bash脚本编程初步

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

     GUI:KDE,GNome,Xfce

     CLI: /etc/shells

             bash

             zsh

             fish

bash的特性:

         命令行展开:~,{}

         命令别名:alias, unalias

         命令历史:history

         文件通配:glob

         快捷键:Ctrl+a, u, k, l

        命令补全:$PATH

          路径补全 :

bash特性之:命令 hash

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

      hash  命令

      hash:l列出

      hash: -d COMMAND:删除

     hash -r :清空

bash的特性之:变量

       程序:指令+数据

       指令:由程序文件提供:

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

程序: 算法+数据结构

变量名+指向内存空间

变量赋值:name=value

    48762047827

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

      强类型变量

      肉类型变量:

                bash把所有变量统统是做字符型

                 bash中的变量了无需事先声明:

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

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

变量名:变量名只能包含字母,数字,下划线,而且不能以数字开头:

       变量:见名知意,命名机制遵循某种法则:不能够适应程序的保留字,例如if, else,then,while 等等

bash 变量类型:

          本地变量:  作用领域仅为当前shell进程:

           环境变量:作用领域为当前shell进程及其子进程:

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

        位置参数变量:当执行脚本的shell进程传递的参数;

         特殊变量|:shell内置的有特殊功用的变量

          $?:

            0:成功

            1-255:失败

本地变量:

        变量赋值:name=value

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

                " ":变量名会替换为其值

                查看变量:set

                撤销变量:unset name

                       注意:此处非变量引用:

环境变量:

         变量赋值:

             (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, HISTFILESIZE, HISTCONTROL, SHELL, HOME,UID, PWD, OLDPWD

         查看环境变量:export,declare -x printenv, env

          撤销环境变量: unset name

只读变量:

(1) declare -r name

(2) readonly name

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

bash特性之多命令执行:

~]# COMMAND1; COMMAND2,COMMAND3;…

逻辑运算:

   运算数:真(true, yes, on. 1)

                  假(false, no, off.0)

与

1&&1=1

1&&0=0

0&&1=0

0&&0=0

或:

1  || 1=1

1  ||  0=1

0  ||  1=0

0  ||  0=0

非

! 1=0

!0=1

短路法则:

~]COMMAND1 && COMMAN2

  COMMAND1为假,则COMMAND2必须执行

~]#COMMAND1 || COMMAND2

   COMMAND1为真,则COMMAND2不会执行

   否则,COMMAND1 为假,则COMMAND2必须执行

示例:~]# id $username || useradd $username

原创文章,作者:shadow,如若转载,请注明出处:http://www.178linux.com/64525

赞 (1)
shadowshadow
上一篇 2016-12-23 00:50
下一篇 2016-12-23 01:00

相关推荐

  • 马哥教育网络20期第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; fdisk /dev/sdb ; mke2fs -t ext4 -b 2048 -L MYDATA -m 2 –O acl /dev/sdb1 (2) 挂载至/data/mydata目录,要求挂载…

    Linux干货 2016-08-15
  • CentOS6下的网络信息配置

    简介     我们都知道在我们互联网中,所有的通信都通过网络来完成的,有了网络当然也要有对应的地址,MAC地址是固定不变的,所以能变的只有IP的地址,那么今天来带给大家如何在CentOS6中如何配置网卡。当然一下的所有命令都是在CentOS6中进行的。 一、网卡的配置文件    1.操作网卡的命令 …

    Linux干货 2017-03-20
  • 负载均衡一个PHP应用

    1、mariadb、nfs服务器的设置 (centos 7) [root@localhost ~]# rpm -q rpcbind rpcbind-0.2.0-32.el7.x86_64 [root@localhost ~]# rpm -q nfs-utils (默认n…

    Linux干货 2016-10-31
  • N25 – 第一周博客作业

      1. 描述计算机的组成及其功能2. 按系列罗列Linux的发行版,并描述不同发行版之间的联系和区别3. 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述4. 说明Linux系统上命令的使用格式;详细介绍ifconfig,echo,tty,startx,export,pwd,history,sh…

    Linux干货 2016-11-28
  • find命令总结

    用途:     find命令用来在文件层级结构中搜索跟条件匹配的文件 语法:     find [OPTIONS] [查找起始路径] [查找条件] [处理动作]     查找起始路径:指定具体搜索起始路径。默认为当前目录  &nb…

    Linux干货 2016-09-19
  • 第二周作业

    1. Linux上文件管理类命令总结及示例 文件管理命令主要由查看类命令和管理类命令组成 查看类命令 cat:显示文本 cat [OPTION]… [FILE].. tac:倒序查看文件内容 tac [OPTION]… [FILE].. head:显示文件前几行内容 head [OPTION]… [FILE].. -n#:指定获取前#行,也可直接使用-# -…

    Linux干货 2016-12-10