广告
返回顶部
首页 > 资讯 > 精选 >shell下time”命令的输出详解
  • 302
分享到

shell下time”命令的输出详解

2023-06-09 17:06:02 302人浏览 薄情痞子
摘要

这篇文章主要讲解了“shell下time”命令的输出详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shell下time”命令的输出详解”吧!前言相信大家都知道bash下time是一个很有

这篇文章主要讲解了“shell下time”命令的输出详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shell下time”命令的输出详解”吧!

前言

相信大家都知道bash下time是一个很有用的命令,它可以为一段脚本或一个程序的执行计时,这通常在粗略比较程序执行效率的时候很方便。但是你会发现,time命令输出的时间文字不能被简单地重定向,例如重定向至一个文本文件,只能显示在屏幕上,这对于非交互计时很不方便。

例如:

$ time find . -name "mysql.sh" >1.txtreal 0m0.081suser 0m0.060ssys  0m0.020s$ time find . -name "Mysql.sh" 2>2.txt./work186/sms/bin/mysql.sh./work186/sms/src/scripts/mysql.sh./work186/sms/src/scripts1/mysql.sh./work186/sms1/bin/mysql.sh./work186/sms1/src/scripts/mysql.sh./temp/sms/bin/mysql.sh./temp/sms/src/scripts/mysql.shreal 0m0.068suser 0m0.040ssys  0m0.030s

通过上面的尝试,发现无法将time的输出信息重定向到文件里面,为什么?因为time是shell的关键字,shell做了特殊处理,它会把time命令后面的命令行作为一个整体来进行处理,在重定向时,实际上是针对后面的命令来的,time命令本身的输出并不会被重定向的。

关键字time设置了一个标记,知道command(find)命令执行完,timing信息才被打印到stderr中。time关键字要整个command和管道,还有相关的重定向都要来得高级。这就是为什么简单的重定向对于time而言不起作用。 这是Bash语法定义的。command之后的重定向对于time而言,是command的一部分。

注:time命令的输出到标准错误(stderr)中

当time命令执行时,command运行于当前shell(也就是time命令所执行的shell)的下一级shell,而time自身的输出位于当前shell的stderr。像上面所示的那样重定向只会使得command的stdout被重定向至一个文本文件,而不会输出time自身的输出内容。

第一种解决方法,就是将time命令和将要执行的命令行放到一个shell代码块中,也就是一对大括号中,要注意空格和分号的使用。

$ { time find . -name "mysql.sh"; } 2>2.txt./work186/sms/bin/mysql.sh./work186/sms/src/scripts/mysql.sh./work186/sms/src/scripts1/mysql.sh./work186/sms1/bin/mysql.sh./work186/sms1/src/scripts/mysql.sh./temp/sms/bin/mysql.sh./temp/sms/src/scripts/mysql.sh$ cat 2.txtreal 0m0.068suser 0m0.030ssys  0m0.040s

第一种方式的尝试成功了,总结起来就是 { time command-line; } 2>file  注意分隔符的使用。

另外一种方式就是使用子Shell的方式

如下所示:

$ (time find . -name "mysql.sh") 2>2.txt./work186/sms/bin/mysql.sh./work186/sms/src/scripts/mysql.sh./work186/sms/src/scripts1/mysql.sh./work186/sms1/bin/mysql.sh./work186/sms1/src/scripts/mysql.sh./temp/sms/bin/mysql.sh./temp/sms/src/scripts/mysql.sh$ cat 2.txtreal 0m0.083suser 0m0.040ssys  0m0.020s[root@WEB186 root]#

第二种方式的尝试也成功了,总结起来就是 (time command-line) 2>file 这里time紧贴着小括号(也可以的,命令行结束也不必带分号。当然最好还是用第一种方式,毕竟启动一个子shell是要多占些资源的。

感谢各位的阅读,以上就是“shell下time”命令的输出详解”的内容了,经过本文的学习后,相信大家对shell下time”命令的输出详解这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: shell下time”命令的输出详解

本文链接: https://www.lsjlt.com/news/256884.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • shell下time”命令的输出详解
    这篇文章主要讲解了“shell下time”命令的输出详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shell下time”命令的输出详解”吧!前言相信大家都知道bash下time是一个很有...
    99+
    2023-06-09
  • shell(bash)下“time” 命令的输出详解
    前言 相信大家都知道bash下time是一个很有用的命令,它可以为一段脚本或一个程序的执行计时,这通常在粗略比较程序执行效率的时候很方便。但是你会发现,time命令输出的时间文字不能被简单地重定向,例如重定...
    99+
    2022-06-04
    详解 命令 shell
  • Linux中top命令输出详解
    前言 linux下的top命令我相信大家都用过,自从我接触Linux以来就一直用top查看进程的CPU和MEM排行榜。但是top命令的其他输出结果我都没有了解,这些指标都代表什么呢,什么情况下需要关注呢?以及top命令...
    99+
    2022-06-04
    linux命令top linux的top命令结果 linuxtop命令参数详解
  • 详解Linux time 命令的使用
    1.命令简介 time 用于统计命令执行所消耗的时间及相关系统资源等信息。time 可以显示的资源有四大项,分别是: Time resources Memory resources IO resources Com...
    99+
    2022-06-03
    Linux time Linux time命令
  • MySQL show status命令输出结果详解
    Aborted_clients        由于客户端没有正确关闭连接导致客户端终止而中断的连接数 Aborted_connects    试...
    99+
    2022-10-18
  • Shell程序退出状态码的命令详解
    目录程序退出状态码前言状态码简介退出码表实例说明退出码——1shell内部操作失败——退出码2退出码126命令没有找到——退出码127信号值&mda...
    99+
    2022-10-24
  • 详解 Shell中的grep命令
    用‘grep'搜索文本文件 如果您要在几个文本文件中查找一字符串,可以使用‘grep'命令。‘grep'在文本中搜索指定的字符串。举个例子:假设您正在‘/usr/src/linux/Documentatio...
    99+
    2022-06-04
    详解 命令 Shell
  • shell脚本中如何获取命令的输出
    这篇“shell脚本中如何获取命令的输出”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“shell脚本中如何获取命令的输出”文...
    99+
    2023-06-29
  • shell命令中定向输出的示例分析
    这篇文章给大家分享的是有关shell命令中定向输出的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mycommand >mylog.txt 2>&1 应该是最经典的用法了。命令的结果可...
    99+
    2023-06-09
  • 神奇的shell命令行输入与输出功能介绍
    标准输入/输出和重定向,Linux发行版Fedora Core Linux,而Red Hat公司原来Red Hat Linux的开发团队也将继续参与这一发行版本的开发工作。 标准输入与输出 我们知道,执...
    99+
    2022-06-04
    命令行 神奇 功能
  • linux top命令详解与输出结果说明
    top命令是linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析。 top命令说明 [www.jb51.net@jb51 ~]$ top top - 16:07:37 up...
    99+
    2022-06-04
    top命令详解 top命令输出结果说明
  • MySQL show status命令常用输出字段详解
    Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。  Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。  Connect...
    99+
    2022-10-18
  • 用shell命令读取与输出数据的代码
    shell脚本读取数据有以下几种方式:1.键盘输入,默认2.从文件中读取3.通过管道命令传递 echo的功能:c :不换行f :进纸t :跳格n :换行表示转义,例如:""/dev/rmt0""翻译为,"/...
    99+
    2022-06-04
    命令 代码 数据
  • Android shell命令行中过滤adb logcat输出的方法
            我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在...
    99+
    2022-06-06
    方法 logcat adb shell Android
  • 详解Shell命令的执行顺序
    详解Shell命令的执行顺序?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Shell 从标准输入或脚本中读取的每一行称为管道(pipeline);它包含了一个或...
    99+
    2023-06-09
  • shell 脚本中获取命令的输出的实现示例
    这个主要介绍的方法是获取命令的输出内容,而不是命令执行成功与否的返回值。 通常情况下,在shell脚本中需要获取命令的输出内容,然后根据输出内容判断下一步的执行操作。 比较常用的一种方式就是, 匹配命令输出的内容中是否存...
    99+
    2022-06-05
    shell 获取命令输出 shell命令输出
  • shell脚本中获取命令的输出的实现示例
    这个主要介绍的方法是获取命令的输出内容,而不是命令执行成功与否的返回值。 通常情况下,在shell脚本中需要获取命令的输出内容,然后根据输出内容判断下一步的执行操作。 比较常用的一种...
    99+
    2022-11-13
  • Linux下route命令输出信息的示例分析
    这篇文章主要为大家展示了“Linux下route命令输出信息的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下route命令输出信息的示例分析”这篇文章吧。使用不带任何参数的r...
    99+
    2023-06-17
  • shell字符截取命令之cut命令的实例详解
    shell字符截取命令之cut命令的实例详解 一 语法 cut [选项] 文件名 选项: -f 列号:提取第几列 -d 分隔符:按照指定分隔符分割列 二 实战 [root@localhost...
    99+
    2022-06-04
    命令 详解 字符
  • Android shell命令行中过滤adb logcat输出的几种方法
    我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率。本文就具体介绍几种在shell...
    99+
    2022-06-06
    方法 logcat adb shell Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作