Linux Shell 学习

一、shell 基本运算

 

  (一)基础运算

     1、数学运算(只适用于整数):加、减、乘、除等;

             声明变量:a=3,b=5
    
        数学运算符号    功能      举例

               *         乘法          var1=`expr 5 * 3`
               =         赋值          a=$b
               ==        相等          if [ $a == $b ] ...
               !=        不相等        if [ $a != $b ]  ...

    2、比较运算(只适用于整数)

      说明:比较运算,用作“条件”。

      (1)数字的比较运算:

        数字的比较运算符  功能      举例

        -eq       相等      if [ 2 -eq 3 ] ...

        -ne       不相等     if [ 2 -ne 3 ] ...

        -lt        小于       if [ 2 -lt 3 ] ...

        -le       小于等于    if [ 2 -le 3 ] ...
        -gt       大于      if [ 2 -gt 3 ] ...
        -ge       大于等于    if [ 2 -ge 3 ] ...
      (2)字符串的比较运算:

        声明变量:s1="hello" s2="world" s3="hello"

             字符串的比较运算符        功能      举例        
        =               相等      if[ $s1 = $s2 ] ...        
        !=              不相等     if[ $s1 != $s2 ] ...        
        -z             字符串长度为0   if[ -z $s3 ] ...        
        -n            字符串长度不为0  if[ -n $s3 ] ...        
        $             字符串不为空   if[ $s3 ] ...

    

    3、文件测试运算

        说明:文件测试运算,用作“条件”。

 

    说明:前面的1、2、3的表达式,称为“ bool-expression ”(布尔表达式)。

 

  (二)逻辑运算

    1、&& 、||

 

      &&(and)语法:  bool-expression1  &&  bool-expression2
        说明:
bool-expression1 为真时,才计算 bool-expression2;如果bool-expression1为假,则不计算表达式 bool-expression2。
        举例:
if [[ bool-expression1 && bool-expression2 ]] ...

      
||(or)语法:  bool-expression1 || bool-expression2         说明:bool-expression1 为真时,则不计算 bool-expression2;如果bool-expression1为假,才计算表达式 bool-expression2。         举例:if [[ bool-expression1 || bool-expression2 ]] ...

 

 

    2、" ! " 、" -o "、" -a"

    !(not)语法:! expression
    说明:表达式的bool值,取反。
    举例:
if[ ! expression ] ...

    -o(or)语法:bool-expression1 -o bool-expression2

      说明:若 bool-expression1 或 bool-expression2 有一个真,则复合表达式的值为真;

      举例:if [ bool-expression1 -o bool-expression2 ] ...

 

二、常用命令:

(一)echo 命令:

    声明变量: vs1="hello world !"  vs2="hello houdini18 !"

    字符串链接:

      echo  'vs1='  $vs1

三、

本文由lnlidawei(https://www.cnblogs.com/lnlidawei)原创或整理,转载请注明出处。
原文地址:https://www.cnblogs.com/lnlidawei/p/12488188.html