美文网首页
missing之bash脚本编写-3

missing之bash脚本编写-3

作者: 墨道院 | 来源:发表于2020-12-31 19:35 被阅读0次

条件比较语句

下面有个例子,将上面说的几个点综合了一下:

#!/bin/bash

echo "Starting program at $(date)" # Date will be substituted
echo "Running program $0 with $# arguments with pid $$"

for file in "$@"; do
    grep foobar "$file" > /dev/null 2> /dev/null
    # When pattern is not found, grep has exit status 1
    # We redirect STDOUT and STDERR to a null register since we do not care about them
    if [[ $? -ne 0 ]]; then
        echo "File $file does not have any foobar, adding one"
        echo "# foobar" >> "$file"
    fi
done

首先 $(date) 打印出时间,然后遍历脚本的输入参数,其实应该是各个文件,每一次循环都将相关文件全目录赋给$file变量,然后用grep命令在当前文件里搜索关键字foobar。后面这段命令:> /dev/null 2> /dev/null的意思是将grep命令的标准输入,和标准错误输出都重新定位到/dev/null设备上,其实就是舍弃,不要的意思。/dev/null是一种特殊的linux虚拟设备,专门用来倾倒不需要的垃圾数据。再后面的命令就是如果grep没有找到相关关键字,就将这个关键字添加到当前的文件里。

说了这么多,才要说到正题:条件判断语句,其实很简单。上面的例子中,两个中括号里面就是条件判断。其实单个中括号也可以作为判断语句的容器,但是可能会和其他有冲突,所以为了减少错误,用双中括号更能降低出错的机会。

相关文章

  • missing之bash脚本编写-3

    条件比较语句 下面有个例子,将上面说的几个点综合了一下: 首先 $(date) 打印出时间,然后遍历脚本的输入参数...

  • missing之bash脚本编写-4

    用通配符和大括号实现的shell globbing 的便利功能 当调用脚本的时候,你可能会输入一些类似的,同质的选...

  • missing之bash脚本编写-2

    # 脚本的返回值或者运行结果 一般情况下,很多命令将一般信息打印到标准输出(STDOUT),将错误打印到标准错误输...

  • missing之bash脚本编写-1

    Bash脚本编程在平时的工作中可以起到解放生产力的作用。因为通过bash脚本可以将繁琐,可重复的工作进行自动化运行...

  • bash脚本编写

    一,概括: read命令是用于从终端或文件中读取输入的内部命令 读取整行输入 每行末尾的换行符不被读入 二,rea...

  • Bash基础知识

    在上一篇文章《不过时的技术-Bash脚本》中,我们简单介绍了Bash脚本,并且学会如何编写、运行一个Bash脚本。...

  • shell脚本简单的基本语法

    1.脚本的格式要求 1.脚本以#!/usr/bash开头,表示编写的脚本以bash这种终端解释器来解析。 2.脚本...

  • bash脚本的编写

    bash基本使用 一:read命令 .read命令是用于从终端或者文件中读取输入的内部命令 .读取整行输入 .每行...

  • 【日志切割】

    一.脚本编写 #!bin/bash data=$(date +%F-%H:%M) mv /application/...

  • xshell脚本启动JAR包-定时任务拆分日志

    一、启动脚本编写 #!/bin/bash #name:******service.sh; #date:2020-1...

网友评论

      本文标题:missing之bash脚本编写-3

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