美文网首页
课堂笔记day28——Shell基础

课堂笔记day28——Shell基础

作者: 劉歓 | 来源:发表于2019-04-09 14:17 被阅读0次

    1、为什么要学习Shell编程?

         1)Linux系统中会大量的使用Shell,工作中我们也需要自动化实现业务。

               例如:自动备份、监控、自动安装服务

         2)Shell编程是Linux运维人员必须要回的编程语言(最简单的编程语言)。

         3)编程也是运维人员必须具备的本领:

               Shell、Puthon是运维人员必须具备的本领。

    2、什么是Shell?

            Shell就是一个解释器(翻译官),命令行的命令以及脚本都会通过Shell解释,传给操作系统,处理后再输出给用户。

    3、Shell的分类

         1)Bourne shell

         2)C shell:

              csh、tcsh

    4、C7:默认Shell


    5、什么是Shell脚本?

         1)将程序、命令放入文件里执行,这个文件称之为Shell脚本文件。

         2)工作中最多的就是编程写脚本,存放在文件里。

    6、Shell变量:

         1)全局变量(环境变量):

               a、在整个系统中生效、一般是大写、系统中默认就存在一些这样的变量,用于满足系统和程序运行的需求。

               b、系统自带的环境变量:


               c、自定义环境变量:(命令行临时生效)

                     方法一:export OLDBOY="I am oldboy."

                     方法二:OLDBOY="I am oldboy."

                                    exportOLDBOY


               d、环境变量永久生效:

                      vim /etc/bashrc

                     放到最后一行

                    . /etc/bashrc

                    echo $OLDBOY(输出一个变量内容就加$变量名)

         2)局部变量(普通变量):

               a、是编写Shell脚本最常用的变量。

               b、用法:变量名=值 (例如:a=1)

                    变量名:数字、字母、下划线、不能是数字开头

                    =等号:赋值符(把什么东西给谁)

                   值:东西,变量内容(引用内容的符号:单引号、双引号、反引号、不加引号)


    7、表达式

    1)[  表达式  ]中括号表达式:中括号里面两端必须要有空格。

    字符串要加双引号:(如果表达式成立,打印1,否则打印0)


    [ "a" = "b" ] && echo 1

    如果表达式成立,打印1

    [ "a" = "b" ] || echo 0

    如果表达式成立是假的,打印0

    [ ! "a" = "b" ] && echo 1

    取反

    2)整数表达式:

          a、整数表达式符,两端必须要有空格

         b、中括号里面两端必须要有空格

         c、变量和不比较的内容,不需要加引号

    -gt     >

    -ge    >=

    -lt      <

    -le     <=

    -eq    =

    -ne    不等于

    3)字符表达式: 

    -z 变量内容长度为0时,为真(表达式正确)。zero 

    -n 变量内容长度不为0是,为真(表达式正确)。not  zero 

    a == a 字符串是否相同 

    8、Shell判断句(如果.....那么....)

    如果a=10                     if [ 表达式 ]

    那么                             then

          echo 1                          命令

    否则                            else

          echo 2                          命令

    果如                            fi

    示例一、如果a等于10打印1,不等于10打印2

    示例二、如果今天是周六就看电影,不是就好好学习

    示例三、(实现多条件)如果今天是周6或周日就去看电影打游戏,如果不是就好好上课

    8.2  read命令:交互式读取用户输入

    -p  "提醒:"

    -t  "多长时间内等待输入"

    8.3练习题:Shell编程实现,两个整数比较大小

    9、for循环

    for n in 取值列表

    do 

       执行命令

    done

    9.1示例:

    示例一、

    示例二、显示过程  -x

    示例三、


    10、书写脚本习惯:

    1)以 .sh 结尾

    2)脚本开头第一行#!/bin/bash脚本内容由谁解释

       由于Linux下默认是bash,所以也可以不写这一行

    相关文章

      网友评论

          本文标题:课堂笔记day28——Shell基础

          本文链接:https://www.haomeiwen.com/subject/wssbiqtx.html