美文网首页
day28 shell编程基础入门

day28 shell编程基础入门

作者: 1220 | 来源:发表于2019-04-09 20:53 被阅读0次

    1》为什么要学习shell编程?

    Linux系统中会大量使用shell,工作中也需要自动化实现业务,

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

    shell编程是Linux运维人员必须会的编程语言。

    shell,Python是运维人员必备的本领。

    2》什么是shell?

    shell就是一个解释器,命令行的命令以及脚本都会通过shell解释,

    传给操作系统,处理后在输出给用户。

    3》shell的分类

    C7:

    的   

    shell又包括csh、tcsh两种类型。

    4》C7:默认shell

    echo $SHELL

    5

    5》什么是shell脚本?

    程序、命令、放入文件执行,这个文件称为shell脚本文件。

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

    6》shell的变量:

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

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

    系统自带的环境变量

    [root@Hello ~]# echo $PATH

    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    自定义环境变量:

    export OLDBOY="I am oldboy."

    推荐

    推荐把环境变量放入/etc/bashrc

    安装Java服务时会配置环境变量

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

    是编写shell脚本最常用的变量。

    变量=值         a=1

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

    =等号 :赋值符,把什么东西给谁。(不能有空格)

    值:东西,变量内容

    引号内容的符号:单引号、双引号、反引号、不加引号】

    变量可以相加

    let  计算命令

    7》表达式

     [ 表达式 ]中括号表达式,中括号两端必须要有空格。

    字符串要加双引号

    [root@oldboyedu ~]# [ "a" = "b" ] && echo 1||echo 0

    0

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

    如果表达式成立,打印1,否则打印0.

    [ "a" = "b" ] && echo 1  #跟屁虫。

    如果表达式成立,打印1

    [ "a" = "b" ] || echo 0  #杠精。

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

    取反:

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

    1)整数表达式符 两端必须要有空格

    2)中括号里面两端必须要有空格。

    3)变量和比较的内容,不需要加引号。

    说明:

    1)字符串要加双引号

    例子:

    [root@oldboyedu ~]# oldboy="I am oldboy"

    [root@oldboyedu ~]# [ -z "$oldboy" ] && echo 1 || echo 0

    0

    [root@oldboyedu ~]# oldboy=""

    [root@oldboyedu ~]# [ -z "$oldboy" ] && echo 1 || echo 0

    1

    [root@oldboyedu ~]# [ -n "$oldboy" ] && echo 1 || echo 0

    0

    [root@oldboyedu ~]# [ "test" == "host" ] && echo 1 || echo 0

    0

    [root@oldboyedu ~]# [ "test" == "test" ] && echo 1 || echo 0

    1

    整数表达式:

    >      -gt       greater than

    >=    -ge      greater than or equal

    <      -lt       less than

    <=    -le      less than or equal

    =      -eq     equal

    不等于 -ne    not equal

    字符表达式:

    -z   zero    变量内容长度 为0, 为真(正确)

    -n   not zero    变量内容长度 不为0 ,为真

    a == a 字符串是否相同

    说明:

    1)字符串要加双引号。

    例子:

    1

    8.shell判断句:

    如果....那么...

    如果[ 你是大美女 ]

    那么  就和你谈恋爱

    否则  拜拜

    if  判断句语法:

    if [ 表达式 ]

    then   命令

    fi  


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

    -p "提醒:"

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

    书写脚本习惯:

    1、以  .sh   结尾

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

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

    特殊位置变量:

    $1 脚本文件的第一个参数赋值给$1

    $2 脚本文件的第二个参数赋值给$2

    注释掉read

    9》for循环

    for  n  in  取值列表

    do 

             执行命令

    don

    书写脚本习惯:

    1.以.sh结尾。

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

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

    相关文章

      网友评论

          本文标题:day28 shell编程基础入门

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