用途说明

我们知道,在Linux系统中,冒号(:)常用来做路径的分隔符(PATH),数据字段的分隔符(/etc/passwd)等。其实,冒号(:)在Bash中也是一个内建命令,它啥也不做,是个空命令、只起到占一个位置的作用,但有时候确实需要它。当然,它也有它的用途的,否则没必要存在。在·Linux的帮助页中说它除了参数扩展和重定向之外不产生任何作用。

man : 写道

: [arguments]

No effect; the command does nothing beyond expanding arguments and performing any specified redirections. A zero exit code is returned.

常用参数

格式::

·啥也不做,只起到占位符的作用。比如在编写脚本的过程中,某些语法结构需要多个部分组成,但开始阶段并没有想好或完成相应的代码,这时就可以用:来做占位符,否则执行时就会报错。

Bash代码  

if ["today"=="2011-08-29"]; then

:

else

:

fi

格式:: your comment here

格式:# your comment here

写代码注释(单行注释)。

格式:: 'comment line1

comment line2

more comments'

写多行注释。

格式:: >file

格式:>file

清空文件file的内容。

格式:: ${VAR:=DEFAULT}

当变量VAR没有声明或者为NULL时,将VAR设置为默认值DEFAULT。如果不在前面加上:命令,那么就会把${VAR:=DEFAULT}本身当做一个命令来执行,报错是肯定的。

使用示例

示例一 参数扩展

[root@node56 ~]# : abc=1234

[root@node56 ~]# echo $abc

[root@node56 ~]# : ${abc:=1234}

[root@node56 ~]# echo $abc

1234

[root@node56 ~]# ${abc:=1234}

-bash: 1234: command not found

[root@node56 ~]#

示例二 清空文件

[root@node56 ~]# cat <<123.txt

[root@node56 ~]# cat 123.txt

Hello

[root@node56 ~]# : >123.txt

[root@node56 ~]# cat 123.txt

[root@node56 ~]#

示例三 脚本注释、占位符

脚本test_colon.sh

Bash代码  

#!/bin/sh

: this is single line comment

: 'this is a multiline comment,

second line

end of comments'

if [ "1"=="1"]; then

echo "yes"

else

:

fi

[root@node56 ~]# ./test_colon.sh

yes

[root@node56 ~]#

问题思考

相关资料

【1】Kpld’s Blog  Kpld’s Blog

http://kpld8888.wordpress.com/

【2】nighteblis.cublog.cn  bash中的冒号, 以及bash bomb解析还有各种各样的炸*弹

http://www.cublog.cn/u1/40976/showart_2528550.html

【3】清水如画的博客  2011-03-20 bash之特殊符号冒号、大括号扩展应用、代码块

http://blog.sina.com.cn/s/blog_4002e0d20100qh4w.html

Linux不用来写代码,我使用过的Linux命令之:(冒号) - 啥也不做(除了……)相关推荐

  1. linux系统怎样写单片机程序,单片机知识是Linux驱动开发的基础之一以及如何学单片机...

    这是arm裸机1期加强版第1课第2.3节课程的wiki文字版. 为什么没前途也要学习单片机? 因为它是个很好的入口. 学习单片机可以让我们抛开复杂的软件结构,先掌握硬件操作,如:看原理图.芯片手册.写 ...

  2. linux用信号写代码,Python 信号(linux) 源代码放附件中

    Python信号 果汁味 信号的概念 信号(signal)--进程之间通讯的方式,是一种软件中断.一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号. 几个常用信号: SIGINT终止进程中断 ...

  3. idea不用鼠标写代码

    使用的idea快捷键 项目间跳转 左跳转:ctrl+alt+[ 右跳转:ctrl+alt+] 最近操作 ctrl+e 回到上次修改的地方 ctrl+shift+backspace 回到上次浏览的地方 ...

  4. linux下分析webmail代码,十分钟快速架设Linux系统下WebMail

    目前,网上能找到不少WebMail,但多为商业,动辄支持百万级用户.它们虽然功能很强,但对一般单位来讲,有点儿"大材小用".那么,能否找到这样一个WebMail:免费的.对中文支持 ...

  5. linux下抓包代码阿里云,10.10 linux下抓包

    监控系统状态 抓包工具 tcpdump 用法:tcpdump -nn tcpdump -nn -i ens33 tcpdump -nn port 80 tcpdump -nn not port 22 ...

  6. 高并发:线程、线程锁与线程池(精华),文中附上一个手写代码实现线程池视频(c/c++语言)

    前文: 单线程--多线程的开启--线程锁--线程同步工具--手写连接池--连接池工具类. 一.线程 1.线程的概念 2.线程与进程的关系 3.定义: 区别:如上!!! 4.wait()和sleep() ...

  7. 写代码水平的几个发展阶段

    背景 这篇文章非我原创,是我在公司内部平台拜读了我们公司的架构师--杜欢最近写的一篇文章,也很感同身受,觉得非常值得分享. 杜欢在我的眼中是一名非常出色的全栈工程师,他拥有 10 年以上的开发经验,无 ...

  8. 做linux内核开发累吗,如果你打算看完Linux内核源码,可能穷尽一生都做不出一个系统...

    代码并不是写给人看的,而是交给机器运行的. 所以我们去理解别人的代码时,并不能像看小说一样去通篇的阅读代码,而应该是像研究化石一样去调查它,解密它.有时我们往往也需要把对方的一段代码亲手的实现一遍,然 ...

  9. 华为回应出售手机业务传闻:假消息;微软将ChatGPT整合到更多工具中:不用写代码就能开发应用;苹果更新Mac产品线|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

最新文章

  1. Vue教程1 【Vue核心】
  2. Momenta完全无人驾驶首次曝光!城区道路混行无接管,遭遇逆行也不怕,特斯拉Waymo路线二合一...
  3. 前后端分离的跨域解决方案
  4. django ORM创建数据库方法
  5. Python3 学习系列 丨 博客目录索引
  6. 植物大战僵尸不能保存进度
  7. 李煜东算法进阶指南打卡题解
  8. Qt5 程序启动画面图片效果
  9. 终极算法【6】——贝叶斯学派
  10. 强制卸载pip以及安装老版本pip
  11. FDD与TDD工作原理
  12. word双栏添加右栏下脚注而左栏满字方法
  13. 南京大学生租房补贴申领必看
  14. 广东省计算机免考申请多久可以审核,2019年广东自考免考政策 免考申请条件、时间及流程...
  15. 移动医疗是什么 移动医疗应用实例
  16. 用java开发app的步骤,看看这篇文章吧!
  17. tansig、logsig公式与导数推导
  18. oracle 10g ora12560,OracleORA-12560解决方法
  19. mac 爱普生打印机驱动_epson l360 mac版驱动下载-爱普生l360驱动Mac版最新版 - 极光下载站...
  20. 教您用几何画板画相切的圆

热门文章

  1. iap php,PHP语言之华为应用内支付IAP验签
  2. 95-10-110-启动-AdminManager
  3. Kafka : 报错 KafkaController NoSuchElementException : : key not found : [xxx]
  4. Flink : The object probably contains or references non-serializable fields.
  5. 95-190-730-源码-WindowFunction-窗口操作符侧的窗口函数(内部函数)
  6. scala学习-Linux命令行运行jar包传入main方法参数
  7. Optional的巧用
  8. Java线程池的实现原理,你清楚么?
  9. 面试官常考的 21 条 Linux 命令
  10. JavaScript小效果的实现(笔记)