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