学习Linux课程第五天

还是老规矩,先来总结一下所学的知识点

一、编写shell脚本

shell脚本命令工作方式有两种

(1)交互式:用户每输入一条命令就立即执行

(2)批处理:由用户事先编好一个完整的shell脚本,然后一次性执行

1、简单的脚本

#! /bin/bash      脚本声明

# ksdjksd          脚本注释

pwd                  脚本命令

2、接收用户的参数

$0:脚本名称

$#:总共接收到的参数个数

$*:分别接收到的参数内容是什么

$?:显示上一次命令执行的返回值  0为成功,1为失败

$1、$2、$3:对应位置的参数值

3、判断用户的参数

[ -d  文件 ]   echo  $?   判断文件是否为目录类型

[ -e  文件 ]   echo $?    判断文件是否存在

[ -f 文件 ]   echo $?    判断文件是否为一般文件

比较运算符    [ A  运算符 B ]

-eq  是否等于 、-ne 是否不等于、-gt 是否大于、-lt 是否小于、-le是否小于或等于、-ge是否大于或等于

&&  当上一条语句执行成功,则执行后面的语句

||   当上一条语句执行失败,则执行后面的语句

!  对判断在取反

三、流程控制语句

1、if条件测试语句

(一)、单分支if语句:执行简单的一条条件判断结构

if  条件测试操作                         if  目录不存在

  then  命令序列            如:         then  创建该目录

fi                                                  fi

(二)、双分支if语句:执行简单一条判断结构,输出有两条不同结果

if  条件测试操作                      if  能够ping通

   then 命令序列1           如:     then 提示服务器正常工作

   else 命令序列2                        else 报警服务器出现问题

fi                                              fi

(三)、多分支if结构:执行多条判断结构,并伴随着多条输出结果

if  条件测试操作1                        if   分数为85-100之间

   then  命令序列1                           then  判为优秀

 elif  条件测试操作2           如:    elif 分数为  70-84之间

   then  命令序列2                             then 判为合格

else                                                   else

命令序列3                                          判为不合格

fi                                                        fi

2、for条件循环语句:允许脚本一次性读取多个信息,进行批量处理

for  变量名  in   取值列表                for 用户名 in  列表文件

do                                             如:do

     命令序列                                       创建用户并设置密码

done                                                  done

3、while条件语句:根据某些条件进行重复执行命令语句

while   条件测试操作                          while  未猜中正确价格

do                                               如:do

    命令序列                                             反复猜测商品价格

done                                                    done

4、case条件测试语句:在多个范围内匹配数据,若匹配成功则执行相关命令并结束

case   变量值  in                                case  输入的字符 in

模式一)                                              [a-z] | [A-Z])

命令序列1                                            提示字母

;;                                                      ;;

模式2)                                    如:    [0-9])

命令序列2                                            提示为数字

;;                                                      ;;

esac                                                     esac

总结:学习的内容偏理解了,而且发现和基础课程越来越紧密结合了,自己还要花时间去理解,理解后

 在进行实操,加油吧,今天还要预习下一章呢

笔记很少,下午实操

 

posted @ 2018-11-18 12:57  doopli  阅读(139)  评论(0编辑  收藏  举报