美文网首页
4.2 编写Shell脚本(P80-85)——《Linux就该这

4.2 编写Shell脚本(P80-85)——《Linux就该这

作者: 仙女滢宝的李先生 | 来源:发表于2019-02-07 21:38 被阅读0次

    一、Shell 脚本命令的2种工作方式

    交互式:输入一条(命令),执行一条

    批处理:事先写好一个Shell脚本,一次性执行里面的所有命令

    备注:Shell脚本不仅包含命令,还包含操作逻辑(if,for,while,case等)

    二、编写简单的Shell脚本

    格式

    $ vim filename.sh

    """

    #!/bin/bash

    #[注释]

    [命令1]

    [命令2]

    …………

    """

    三、执行Shell脚本

    1. 通过bash 解释器

    $ bash filename.sh

    2. 输入完整路径

    . /filename.sh

    提示权限不足时👇

    chmod u+x ./filename.sh

    四、接收用户参数

    $0:Shell脚本文件名

    $1、$2、$3……$n分别对应第1~n个位置的参数值

    Shell脚本中的参数位置变量

    $#:总共的参数个数

    $*:所有位置的参数值

    $?:上一次命令的执行返回值(0为执行成功,2为出现error)

    demo2.sh内容 demo2.sh执行结果

    五、判断用户参数

    条件测试语句

    格式👇

    [ 条件测试表达式 ]

    注: [ ]两边有空格

    若条件成立返回数字 0,否则返回其他随机数值

    1. 文件测试 (语句)

    文件测试参数

    例:判读1.txt是否为目录

    $ [ -d 1.txt ] 

    $ $?

    是则输出0

    不是则输出非0整数(如1)

    2. 逻辑测试(语句)

    &&:前面的执行成功,才执行后面的

    ||:前面的执行失败,才执行后面的

    !:取反

    例:判断1.txt是否存在

    $ [ -e 1.txt ] && echo "exist 1.txt" || echo "not exist 1.txt"

    存在则输出 exist 1.txt

    不存在则输出 not exist 1.txt

    3. 整数值比较(语句)

    整数比较运算符

    例:判断1028是否大于1020

    $ [ 1028 -gt 1020 ]

    $ $?

    输出:0

    4. 字符串比较(语句)

    字符串比较运算符

    例:判断当前语言环境变量是否为“zh_CN.UTF-8”

    $ [ $LANG = 'zh_CN.UTF-8' ] && echo "yes" || echo "no"

    输出:yes

    备注:[ ]前后加空格!!!!!!

    六、awk

    逐行读入文件,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理

    $awk  '{pattern + action}'  file

    awk查看文件 awk查看可用内存

    4.3 Shell脚本中的4个流程控制语句(P85-93)——《Linux就该这么学》学习笔记17

    相关文章

      网友评论

          本文标题:4.2 编写Shell脚本(P80-85)——《Linux就该这

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