美文网首页
12)Shell 编程

12)Shell 编程

作者: bullion | 来源:发表于2018-08-31 13:52 被阅读0次

脚本格式要求

    1.脚本以 #!/bin/bash 开头  (表示用 bash 来进行解析)

    2.脚本需要有可执行权限 chmod 744 [文件名]

    3.也可以不给权限直接执行  sh ./myShell.sh

Shell 变量

    系统变量

        $HOME

        $PWD

        $SHELL

        $USER

        等等......   输出预定义系统变量 echo "PATH=$PATH"

    用户自定义变量

        定义A变量 A=100

        撤销A变量 unset A

        输出A变量 echo "A=$A"

        定义静态A变量 readonly A=99

        输出静态A变量 echo "A=$A"

        静态变量不能 unset

    显示所有shell变量并分页显示 set | more

    把命令的结果返回给变量 方式一 A=`ls -la` 方式二 A=$(ls -la) 等价于反引号

环境变量

    1.在/etc/profile文件中定义TOMCAT_HOME环境变量    

        TOMCAT_HOME=/opt/tomcat

        export TOMCAT_HOME

        export 变量名=变量值 将shell变量输出为环境变量   

    2.刷新文件

        source 配置文件 让修改后的配置信息立即生效

    echo $变量名 查询输出环境变量的值

多行注释

    :<<!

    !

单行注释

    #

位置环境变量

    $n n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的用${10}表示

    $* 代表命令行所有的参数,把所有参数看成一个整体

    $@ 代表命令行所有的参数,把每个参数区分对待

    $# 代表参数个数

预定义变量

    $$ 当前进程的进程号PID

    $! 后台运行的最后一个进程的进程号PID

    $? 最后一次执行的命令的返回状态 0=正确执行,非0=不正确

运算符

    $((运算式)) $[运算式]


    expr m + n 注意expr运算符前后要有空格

    expr \*,/,% 乘,除,取余

    求两个参数的和 SUM=$[$1+$2]

条件判断

    [ iftest ] 不为空返回true

    [] 为空返回false

    [ iftest ] && echo ok || echo notok 条件满足,执行后面的语句

    if [ 条件判断式 ] 注意条件判断式前后要有空格

    1.两个整数的比较

        = 字符串比较

        -lt 小于

        -le 小于等于

        -eq 等于

        -gt 大于

        -ge 大于等于

        -ne 不等于

    2.按照文件权限进行判断 [ -r 文件 ]

        -r 有读的权限

        -w 有写的权限

        -x 有执行的权限

    3.按照文件类型进行判断

        -f 文件存在并且是一个常规文件

        -e 文件存在

        -d 文件存在并是一个目录

    案例:

    与 方式一 -a 方式二 &&

    或 方式一 -o 方式二 ||

    !

流程控制

    if [ 条件判断式 ] 条件判断式两边必须有空格

    if [ 条件判断式 ]

    then

        程序

    fi

    或

    if [ 条件判断式 ]

    then

        程序

    elif [ 条件判断式 ]

    then

        程序

    fi

    case

    case $变量名 in

        "值1")

            如果变量的值等于值1,则执行程序1

            ;;

        "值2")

            如果变量的值等于值2,则执行程序2

            ;;

    *)

    如果变量的值都不是以上的值,则执行此程序

    ;;

    esac

    for循环,语法一

    for 变量 in 值1 值2 值3

    do

        程序

    done

案例:打印命令行输入的参数 【使用$* $@】

    for循环,语法二

for((初始值;循环控制条件;变量变化))

do

    程序

done

案例:从1加到100的值输出显示

    while循环

    while [ 条件判断式 ]

    do

        程序

    done

读取控制台输入

    read (选项) (参数)

        选项:

            -p 指定读取值时的提示符

            -t 指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待

案例:

        参数:

            变量,用于接收用户输入

函数

    系统函数

        basename [路径] [后缀] 返回完整的路径最后 / 的部分,常用于获取文件名,如果输入后缀则获取到的文件名不包含后缀

        dirname 返回完整路径最后 / 前面的部分,常用于返回路径部分

    自定义函数

        自定义函数不需要形参

        function 函数名(){

            程序

        }

案例:计算两个参数的和

相关文章

  • shell 案例

    Shell编程一 Shell防范ARP攻击 Shell编程二 Shell防范DDos攻击 Shell编程三 ...

  • shell 第一天

    shell编程初识 1.1 shell编程初识 shell的定义 Shell 是命令解释器 Shell 也是...

  • 12)Shell 编程

    脚本格式要求 1.脚本以 #!/bin/bash 开头 (表示用 bash 来进行解析) 2.脚本需要有可...

  • 78.shell编程

    shell编程 Shell脚本,是一种为shell编写的脚本程序。 Shell编程跟JavaScript、Pyth...

  • 2019-01-25

    Linux系统Shell编程指南 前言 适合人群:有类似C编程基础的人 一、Shell编程介绍 Shell解释型语...

  • day 28

    shell编程基础 shell编程一小时光速入门web集群架构会用到shell编程基础 1、为什么要学shell编...

  • Shell 编程的 Hello World

    什么是 Shell?简单来说,Shell 编程是对 Linux 命令的逻辑化处理。 来看看 Shell 编程是如何...

  • Shell 编程的 Hello World

    什么是 Shell?简单来说,Shell 编程是对 Linux 命令的逻辑化处理。 来看看 Shell 编程是如何...

  • 后端运维人员必备shell编程入门

    本文转载自 公众号 Snailclimb Shell 编程入门 走进 Shell 编程的大门 为什么要学Shell...

  • shell编程

    Shell脚本,是一种为shell编写的脚本程序。 Shell编程跟JavaScript、Python编程一样,只...

网友评论

      本文标题:12)Shell 编程

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