前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[ 和 [[ 和 test 谁更快??

[ 和 [[ 和 test 谁更快??

原创
作者头像
大大刺猬
修改2021-03-26 14:17:12
5680
修改2021-03-26 14:17:12
举报
文章被收录于专栏:大大刺猬

先说明:

[ 是命令: /usr/bin/[ 这个命令很特殊, 结尾只能是 ] , 所以感觉像逻辑判断一样

test 也是命令: /usr/bin/test

[[ 才是bash真正的判断逻辑

-e 测试文件是否存在, 属于test的功能

测试环境:

CVM 4C16GB 按量计费的那种

怎么测? 当时是循环了

循环次数 3,000,000

循环脚本 见文末

测试过程:

[ 和 test 速度一样, [[ 略胜一筹
[ 和 test 速度一样, [[ 略胜一筹

测试结论:

[ 和 test 速度一样, [[ 略胜一筹

所以以后写脚本的时候 还是尽量用 [[ ]] 吧, 其实不用影响也不大. 只是习惯而已.

循环脚本:

代码语言:javascript
复制
#!/bin/env bash
#write by ddcw at 2021.03.26
echo "3000000 cycles:"
dt1=$(date +%s)
for i in {1..3000000}
do
    [[ -e /etc/resolv.conf  ]] && continue
done
echo " [[  time cost $[ $(date +%s) - ${dt1} ] s "


dt2=$(date +%s)
for i in {1..3000000}
do
        [ -e /etc/resolv.conf  ] && continue
done
echo " [  time cost $[ $(date +%s) - ${dt2} ] s "


dt3=$(date +%s)
for i in {1..3000000}
do
        test -e /etc/resolv.conf  && continue
done
echo " test  time cost $[ $(date +%s) - ${dt3} ] s "

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 先说明:
  • 测试环境:
  • 测试过程:
  • 测试结论:
  • 循环脚本:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档