linux: 空指令(:)

:指令

描述:

空命令,除了参数替换和重定向外不执行任何操作,总是保证退出码为0.

eg1:创建文件(不需要调用其它程序,速度更快)

:>/path/to/file

测试:

创建10000个不存在的文件:
$ time for((i=1;i<=10000;++i)) do :>abc$i done
real  0m0.119s  #用时0.119s
$ time for (( i=1; i<=10000; ++i ))  do touch cba$i  done 
real 0m8.544s #用时8.544秒
创建10000个已经存在的文件:
$ time for (( i=1; i<=10000; ++i ))  do : > cba$i  done 
real 0m0.067s #用时0.067秒
$ time for (( i=1; i<=10000; ++i ))  do touch abc$i  done 
real 0m8.772s #用时8.772秒

eg2:设置默认值

:${name:="abc"}

eg3:提示必要的环境变量没有设置

:${HOSTNAME?}${USER?}${MAIL?}

eg4:占位符

#!/bin/bash

if [ 1 = 1 ]; then  
       :  
else
       echo hello  
fi 

 

posted @ 2017-12-26 21:30  jiu~  阅读(1612)  评论(0编辑  收藏  举报