shell变量 和变量类型


wKioL1lNDBWiKp5qAAHumaoOG3U812.png-wh_50

shell是弱类型变成语言


变量赋值: VAR_NAME=VALUE

撤销变量: unset VAR_NAME

特殊变量: $? 执行状态码

      $# 参数geshu

       $*参数列表

       $@参数列表 


bash:

变量类型    1、环境变量

            export VAR_NAME=VALUE 

            脚本在执行的时候会启动一个子shell进程:

               命令行中启动的脚本会继承当前shell的环境变量

               系统自动执行的程序脚本(非命令行启动)就需要自我定义环境变量

         2、本地变量(局部变量)

            VAR_NAME=VALUE 作用于整个bash进程。

            local VAR_NAME=VALUE 作用于当前代码段。

         3、位置变量

            $1,$2,.....

         4、特殊变量

            $?:保存上一个命令执行状态返回值

                程序执行以后可能有两只返回值

                  1、程序执行结果

                  2、程序执行状态返回代码(0-255)

                         0是正确执行

                         1-255:错误执行 1,2,127系统保留


bash如何实现条件判断?

条件测试类型

   1、整数测试

   2、字符测试

   3、文件测试

条件测试的表达式

  [ expression ] 两头空格 否则语法错

  ` expression ` 同上

  tset expression 

整数比较

 int1 -eq int2    两数相等为真
 int1 -ne int2    两数不等为真
 int1 -gt int2    int1大于int2为真
 int1 -ge int2    int1大于等于int2为真
 int1 -lt int2    int1小于int2为真
 int1 -le int2    int1小于等于int2为真

命令的逻辑关系

   逻辑与:&&

   逻辑或:|| 

  

#!/bin/bash
! id user1 &> /dev/null && useradd user1 && echo "user1" |passwd --stdin user1 &> /dev/null || echo "用户已经存在"

条件判断,控制结构

单支语句判断

if 判断条件 ;then 

    statement1

    statement1   4  2   3   

    .....

else            

    statement3

    statement4

    ....

fi   

多分支if语句

if 判断条件1

then

    statement1

    ....

elif 判断条件2

then

    statement2

elif 判断条件3

then

    statement3

else

    statement4

fi


文件测试  

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

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

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

  -x

  -r

  -w file  测试文件的权限


    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章