• 1
  • 0
分享
  • 【测试技术】编写一个linux脚本,每秒打印当前系统时间
  • lee 2022-10-27 13:09:06 字数 695 阅读 5514 收藏 0

这个问题是我之前笔试的时候碰到的一道题,今天来详细展开写写解答思路:

仔细分析一下这道题目,他的核心考察是循环语句的用法,还有date命令的用法。

date命令是linux系统中比较常用的命令,就是跟时间挂钩,包括查看时间,修改时间,转换时间戳格式,加减时间等等。这道题目相对较为宽松,他并没有要求具体的时间格式要求,比如年月日时分秒等,那么我们就打印最常见的时间格式就好。

linux中bash的循环用法有很多,包括for循环,while循环和until循环,

相对于for循环,前提我们需要知道循环次数,如果想无限循环,只能把次数写大点;

当我们只知道停止条件,不知道次数,就需要使用while循环;

当重复测试某个条件,只要条件不成立则反复执行,那么就用until循环。

在这个案例当中,我推荐while循环来写,我的答案如下:

#!/bin/bash
while true
do
        echo $(date +%F%n%T) >> time.txt
        sleep 1
done &

当我把答案提交之后,面试官又追加了一个小问题,你知道为什么linux脚本第一行都是#!/bin/bash吗?这可把我难住了!每次都知道按照规则写,但是实在没考虑,所以当时我就没回答上来,后面自己做了功课,我把我认为比较好的解释放上来吧:

#!/bin/bash是指此脚本使用/bin/bash来解释执行。

其中,#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径。

bash只是shell的一种,还有很多其它shell,如:sh,csh,ksh,tcsh,...

该脚本的执行方式是:./文件名.sh
微信图片_20211125154251.jpg

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   提到目前网上的反检测方法几乎都是掩耳盗铃,因为模拟浏览器有几十个特征可以被检测,仅仅隐藏 webdriver 这一个值是没有任何意义的。  今天我们就来说说应该如何正确解决这个问题。  我们首先给出解决方案,然后再说明这个解决方案,我是通过什么方式找到的。  解决这个问题的关键,就是一个 js 文件,叫做stealth.min.js,稍后我会说明如何生成这个文件。  我们需要设定,让 Selenium 或者 Pyppeteer 在打开任何页面之前,先运行这个 Js 文件。  这里,我以 Selenium 为例来说明如何操作,我们编写如下代码:  import ...
            0 0 842
            分享
          • 本文主要分为两个部分:第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做?第二部分:主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容。第一部分:首先,在做接口测试的过程中,经常有后端开发会问:后端接口都测试什么?怎么测的?后端接口测试一遍,前端也测试一遍,是不是重复测试了?于是,为了向开发解释上述问题,普及基本的测试常识,特意梳理了接口测试的相关内容以及其与前端测试的区别,使开发团队与测试团队在测试这件上达成基本的共识,提高团队协作效率,从而更好的保证产品质量。然后,我...
            0 0 1023
            分享
          •   老同事写了本“Django入门”的书,卖得非常不错还加印了,说明想体验一下Django的人真是不少啊。抱着崇拜的心情上官网研究了一下Django到底是啥,原来就是个采用了MTV框架的开源Web应用框架。  知道了Django是什么,第二个问题就是它能干什么,然后果断进入某站去找教程,对着无比绝望的翻译,快速把45天入门看了之后发现,果然是个想干嘛就能干嘛的神器,想做个论坛,想做个网页,想画个花,都能满足你。  下面就step by step的try一下这个神奇的工具吧,首先需要个IDE。在看了无数视频之后,发现还是pycharm更友善一些,在新建工程里面可以直接选择Django模板,自带P...
            13 13 1304
            分享
          • 简述性能测试流程?分析性能需求。挑选用户使用最频繁的场景来测试,比如:登陆,搜索,下单等等。确定性能指标,比如:事务通过率为100%,TOP99%是5秒,最大并发用户为1000人,CPU和内存的使用率在70%以下制定性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试环境和测试工具编写测试用例搭建测试环境,准备好测试数据编写性能测试脚本性能测试脚本调优。设置检查点、参数化、关联、集合点、事务,调整思考时间,删除冗余脚本设计测试场景,运行测试脚本,监控服务器,分析测试结果,收集相关的日志提单给开发回归性能测试编写测试报告如何确定系统最大负载?通过负载测试,不断增加用户数,随着...
            11 11 1124
            分享
          •   当QA成为大型项目的QA owner时,那么测试方案就成为QA整个项目流程中的重要的工作指南。那测试方案中,要写些什么内容呢?希望这篇文章可以提供给你很好的思路。  ps: 每个人都有不同的理解,大家可以在评论区留言交流。  项目背景&文档  简要描述本次测试的项目背景 (目的:可以让其他人快速了解到项目的全貌,以及个人对项目背景的理解)  项目的prd链接  项目的技术方案链接  测试排期及人力投入  测试排期很重要,因为涉及到项目的上线时间,可以用日历表,可以用Excel、也可以用表格,方式不限制,主要是把测试阶段、每个模块、工期、人力投入描述清楚。  线下测试方案  项目开发...
            0 0 914
            分享
      • 51testing软件测试圈微信