如何解决为什么我的bash“ history”命令在子shell中的运行速度降低了56倍?
为什么在子shell中运行bash history
内置函数的速度要慢56倍?
(我的历史记录中有22k行。也许这很重要吗?)
$ time history > /dev/null
real 0m0.064s
user 0m0.049s
sys 0m0.015s
$ # in a subshell it runs 56x slower:
$ time (history > /dev/null)
real 0m4.780s
user 0m2.558s
sys 0m2.215s
$ # trying "date" instead to show "time" isn't the issue:
$ date; history > /dev/null; date
Wed Oct 21 21:50:51 PDT 2020
Wed Oct 21 21:50:51 PDT 2020
$ date; (history > /dev/null); date
Wed Oct 21 21:50:51 PDT 2020
Wed Oct 21 21:50:56 PDT 2020
$ # each command in a pipeline is executed in a subshell (bash(1))
$ date; history | tail -1 > /dev/null; date
Wed Oct 21 21:50:56 PDT 2020
Wed Oct 21 21:51:01 PDT 2020
$ history|wc -l
22267
$ bash --version
GNU bash,version 4.4.12(1)-release (x86_64-apple-darwin15.6.0)
(macOS Mojave 10.14.6)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。