zoukankan      html  css  js  c++  java
  • shell脚本:变量,文件判断,逻辑运算等纪要

       shell脚本中的变量定义,引用各有不同的方式,除此之外,很常用的有文件属性判断,逻辑运算,数值运算等,下面记录一下它们的属性作用

          变量

     shell变量的定义分为两种:一种是直接赋值定义,另一种是嵌套指令调用赋值:
    
            name=yufu     直接定义赋值
    
            time=`date`   指令嵌套赋值
    
            $name   $time : 调用变量
    
          此外变量还分局部变量和全局变量,局部变量只对当前bash环境有效,环境变量全局有效,上面的定义方式是定义局部变量,全局变量定义方式如下
    
            name=yufu
    
            expor name
    
            env  |  grep  name    :查看环境变量
    
            unset name  :取消环境变量

            位置变量与状态变量

    	$1 $2 $3 ... $9 : 从标准输入接收参数
    	${10} : 十个以上参数要用花括号把数值括起来
    	$* :所有参数:   在脚本间调用时当成一个参数调用
    	$@ :等于$*作用 :在脚本间调用时可以分开调用参数
    	$# :参数个数
    	$0:显示脚本名称
    	set -- :清空位置参数
    	shift :参数默认向左移动一位,可指定数字
    	$? :指令执行状态值 0或者非0

          数值运算方式

    	x=1
    	y=2
    	z=$[x+y]  let z=x+y 或者 z=$((x+y))

        逻辑判断

    真,假
    	逻辑运算:
    		与运算:
    			 &&  = 
    			 &&  = 
    			 &&  = 
    			 &&  = 
    		或运算:
    			 ||  = 
    			 ||  = 
    			 ||  = 
    			 ||  = 
    		非运算:
    			!  = 
    			!  = 
      逻辑与
                              cmd1 && cmd2 
                              如果cmd1为假,cmd2不需要执行,如果cmd1为真,cmd2要执行
                    逻辑或
                              cmd1 || cmd2
                              如果cmd1为假,那么要执行cmd2如果为真,那么cmd2不用执行
                    布尔运算
    
                              数值方式
    
                                      true, false
                                        1      0
                             与:
                                     1  1 = 1
                                     1  0 = 0
                                     0  1 = 0
                                     0  0 = 0
                            或:
                                     1  1 = 1
                                     1  0 = 1
                                     0  1 = 1
                                     0  0 = 0 
    
    
                           换种方式
    
                           真,假
                           
                           与运算:
                                   &&  = 
                                   &&  = 
                                   &&  = 
                                   &&  = 
                          或运算:
                                   ||  = 
                                   ||  = 
                                   ||  = 
                                   ||  = 
                          非运算:
                                  !  = 
                                  !  = 

                逻辑运算的一个例子

    [root@yufu ~]# id yufu &> /dev/null && echo "user exist" || useradd yufu
    user exist
    #在使用 与或 逻辑运算过程中,如果如果前面的指令执行正确才会执行后面的与运算指令,如果前面的指令执行失败(状态值为非0)则后面的与运算不会执行,跳过执行 或运算指令
    #如果或运算在前面,规则则相反
    [root@yufu ~]# [ -d /tmp/hhh ] || mkdir /tmp/hhh

                   条件判断

    条件判断
    	
    		test 
    			状态值 0 为真  1为假
    			
    		test   $str1 = $str2
    	 (常用)  [ $str1 = $str2 ] 中括号前后要有空格
    	
    	   (常用)[ -z $var ] :判断是否为空,可以判断文件属性

                  文件判断

                    -a: 文件是否存在
    		-d:是否是文件夹
    		-f:文件是否存在
    		-l:是否是软连接
    		-w:是否有写权限
    		-x:是否有执行权限
    		-v:变量是否被设置了
    		-o:或者,多条件判断
    		-n:变量是否为空
    		-z:判断字符串是否为空
    		[] :不用正则表达式的时候用单中括号
    		使用正则表达式时用双中括号[[]]
    		中括号中的变量最好加 “”
  • 相关阅读:
    VMware Workstation Pro下载密钥
    hypervisor
    Xmanager6 下载地址
    linux常用命令
    linux常用
    查看机器端口信息
    windows下快捷键
    SpringMVC学习笔记整理
    2017面试题收集
    oracle 常用知识点整理
  • 原文地址:https://www.cnblogs.com/anay/p/8824067.html
Copyright © 2011-2022 走看看