Shell编程——变量+数据类型+运算符

目录

  1. 变量
  2. 字符串类型
  3. 数组类型
  4. 算术运算符
  5. 关系运算符
  6. 逻辑运算符
  7. 自增自减运算符

 

  1. 变量


    变量的定义
    >     变量名=值   [注意: 等号左右两边不允许有空格]  如果有空格 解释器会将其解释为一条指令 如果这条指令不存在就会报错了  
    >     使用变量的值 $变量名
    >     常量的声明
    >         值一旦被赋予就不能再发生修改
    >         使用一个修饰符修饰 readonly         
    >       PI=3.14
    >       readonly PI  修饰PI为只读格式
    删除变量
    >     unset 变量名

  2. 字符串类型


    字符串类型
    >     数据是使用引号包含的  单双引号不区分
    >     单双引号的区别:
    >         在字符串中如果使用某个变量的值, 单引号中不识别变量的 变量是无效的
    >         双引号是可以识别的
    >     在字符串中使用变量的值的格式:
    >         $变量名  或者是 ${变量名} 
    >     获取字符串的长度
    >         ${#变量名}
    >     提取字符串
    >         ${变量名:起始索引:结束索引}
    >     获取某个字出现的位置
    >         `expr index "$变量名" 字`        
    >     写表达式的时候:
    >         expr 表达式
    >     如果想让shell语言识别表达式需要使用反引号[tab键上方的]包含   
    >     如果想让某个表达式执行  需要使用expr进行表达式标记 使用反引号包含  解释器才能去执行这个表达式

  3. 数组类型


    数组类型
    >     数组的声明:
    >         变量名=(值 值1 值2)        
    >         获取某个位置的元素
    >             ${变量名[索引]}
    >         获取数组中所有的元素
    >             惯性思维:  $变量名 ---- 实质上获取的是第一个元素
    >             ${变量名[@]}
    >             或者是
    >             ${变量名[*]}
    >         获取数组的长度
    >             ${#变量名[@]}
    >             或者是
    >             ${#变量名[*]}

  4. 算术运算符


    算术运算符
    >          +  -  *(需要进行转义)  /[整除]  % --- 运算出来结果
    >          
    >          *在shell语言中需要转义 

  5. 关系运算符


    数值类型
    >             $n1    -gt  $n2  =====> n1 > n2
    >             $n1    -ge  $n2   =====>  n1 >= n2
    >             $n1    -lt  $n2   =====>  n1 < n2
    >             $n1    -le  $n2    =====>  n1 <= n2
    >             $n1    -eq  $n2   =====>  n1 == n2
    >             $n1    -ne  $n2   =====>  n1 != n2
    >         字符串类型
    >             $s1 > $s2  ====> shell 命令中重定向 >
    >              $s1 < $s2
    >                 上面这两个式子 判断的时候 需要加双括号 [[ $s1 > $s2 ]]
    >              $s1 = $s2    =====> shell 判断是否相等是一个等号
    >              $s1 != $s2
    >              -z $s1 验证字符串长度是否为0
    >              -n $s1 验证字符串长度是否不为0
    >          文件的判定
    >              -d 文件路径    验证文件是否是一个目录
    >              -e 文件路径    检验文件是否存在
    >              -f 文件路径  验证文件路径是否是一个文件
    >              -r 
    >              -w
    >              -x
    >                  验证文件是否可读可写可执行
    >              -s  验证文件是否存在 并且非空
    >              file1 -nt file2  验证的file1是否比file2新 
    >              file1 -ot file2  验证的file1是否比file2旧
    >              -O 验证文件是否存在并且归当前用户所有
    >              -G 验证文件是否存在并且属组与当前用户相同

  6. 逻辑运算符


    逻辑运算符
    >         逻辑与
    >             -a
    >         逻辑或
    >             -o
    >         逻辑非
    >             !

  7. 自增自减运算符


    自增自减运算符
    >         变量++ |  ++变量
    >         变量-- | --变量
    >         a=10
    >         a++或者是++a
    >             单个表达式  表示的是在a原来的基础上自加1
    >                 a++ ====> a = a + 1 = 11
    >                 ++a ====> a = a + 1 = 12
    >             参与运算的时候
    >                 a++ ----> 先将a的值参与运算 再对a进行自加1
    >                 ++a ----> 先将a进行自加1 再将a的结果参与运算              
    >                 完成自加行为 ((a++))
    >                 将其值赋予给变量  $((a++))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值