bash及其特性(二)

变量类型:

 环境变量、本地变量、位置变量、特殊变量

 环境变量:

  export VARNAME=VALUE

 位置变量:

  $1、$2,....

  shift取消变量

 特殊变量:

  $?上一个命令的执行状态返回值

  $#参数的个数

  $*参数列表

程序执行,可能的返回值:

 程序状态返回码(0-255)其中0是正确执行

条件测试类型:

 整数测试、字符测试、文件测试

 整数比较:

  -eq:测试两个整数是否相等:比如$a -eq $b

  -ne:测试两个整数是否不等

  -gt:测试一个数是否大于另一个数

  -lt:测试一个数是否小于另一个数

  -ge:大于或等于

  -le:小于或等于

 命令间的逻辑关系:

  &&、||

条件测试表达式:

 [ expression ]、[[ expression ]]

条件判断:控制结构

 if 判断条件;then

   statement

   .....

 fi

shell中如何进行算术运算:

 1、let c=$a+$b

 2、$[算术运算表达式]

   c=$[$a+$b]

 3、$((算术运算表达式))

   c=$(($a+$b))

 4、expr算术运算表达式,表达式中各操作数及运算符之间要有空格,且命令引用

    c=`expr $a + $b`

文件测试:

 -e FILE:测试文件是否存在

 -f FILE:测试文件是否为普通文件

 -d FILE:测试指定路径是否为目录

 -r FILE:测试当前用户对指定文件是否有读取权限

测试脚本是否有语法错误:

 bash -n filename.sh

字符串的测试:

 字符测试:

 == 测试是否相等

 -n string 测试指定字符串是否为空

 -s string 测试字符串是否不空

 例子:用户名是否跟基本用户组用户名一致?

   if [ `id -n -u $1` == `id -n -g $1` ];then

      echo "yiyang"

   else

     echo"no"

   fi

组合测试条件

 -a:与关系

 -o:或关系

 !:非关系

你可能感兴趣的:(程序,表达式,Export)