Linux不用来写代码,我使用过的Linux命令之:(冒号) - 啥也不做(除了……)
用途说明
我们知道,在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命令之:(冒号) - 啥也不做(除了……)相关推荐
- linux系统怎样写单片机程序,单片机知识是Linux驱动开发的基础之一以及如何学单片机...
这是arm裸机1期加强版第1课第2.3节课程的wiki文字版. 为什么没前途也要学习单片机? 因为它是个很好的入口. 学习单片机可以让我们抛开复杂的软件结构,先掌握硬件操作,如:看原理图.芯片手册.写 ...
- linux用信号写代码,Python 信号(linux) 源代码放附件中
Python信号 果汁味 信号的概念 信号(signal)--进程之间通讯的方式,是一种软件中断.一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号. 几个常用信号: SIGINT终止进程中断 ...
- idea不用鼠标写代码
使用的idea快捷键 项目间跳转 左跳转:ctrl+alt+[ 右跳转:ctrl+alt+] 最近操作 ctrl+e 回到上次修改的地方 ctrl+shift+backspace 回到上次浏览的地方 ...
- linux下分析webmail代码,十分钟快速架设Linux系统下WebMail
目前,网上能找到不少WebMail,但多为商业,动辄支持百万级用户.它们虽然功能很强,但对一般单位来讲,有点儿"大材小用".那么,能否找到这样一个WebMail:免费的.对中文支持 ...
- linux下抓包代码阿里云,10.10 linux下抓包
监控系统状态 抓包工具 tcpdump 用法:tcpdump -nn tcpdump -nn -i ens33 tcpdump -nn port 80 tcpdump -nn not port 22 ...
- 高并发:线程、线程锁与线程池(精华),文中附上一个手写代码实现线程池视频(c/c++语言)
前文: 单线程--多线程的开启--线程锁--线程同步工具--手写连接池--连接池工具类. 一.线程 1.线程的概念 2.线程与进程的关系 3.定义: 区别:如上!!! 4.wait()和sleep() ...
- 写代码水平的几个发展阶段
背景 这篇文章非我原创,是我在公司内部平台拜读了我们公司的架构师--杜欢最近写的一篇文章,也很感同身受,觉得非常值得分享. 杜欢在我的眼中是一名非常出色的全栈工程师,他拥有 10 年以上的开发经验,无 ...
- 做linux内核开发累吗,如果你打算看完Linux内核源码,可能穷尽一生都做不出一个系统...
代码并不是写给人看的,而是交给机器运行的. 所以我们去理解别人的代码时,并不能像看小说一样去通篇的阅读代码,而应该是像研究化石一样去调查它,解密它.有时我们往往也需要把对方的一段代码亲手的实现一遍,然 ...
- 华为回应出售手机业务传闻:假消息;微软将ChatGPT整合到更多工具中:不用写代码就能开发应用;苹果更新Mac产品线|极客头条
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
最新文章
- Vue教程1 【Vue核心】
- Momenta完全无人驾驶首次曝光!城区道路混行无接管,遭遇逆行也不怕,特斯拉Waymo路线二合一...
- 前后端分离的跨域解决方案
- django ORM创建数据库方法
- Python3 学习系列 丨 博客目录索引
- 植物大战僵尸不能保存进度
- 李煜东算法进阶指南打卡题解
- Qt5 程序启动画面图片效果
- 终极算法【6】——贝叶斯学派
- 强制卸载pip以及安装老版本pip
- FDD与TDD工作原理
- word双栏添加右栏下脚注而左栏满字方法
- 南京大学生租房补贴申领必看
- 广东省计算机免考申请多久可以审核,2019年广东自考免考政策 免考申请条件、时间及流程...
- 移动医疗是什么 移动医疗应用实例
- 用java开发app的步骤,看看这篇文章吧!
- tansig、logsig公式与导数推导
- oracle 10g ora12560,OracleORA-12560解决方法
- mac 爱普生打印机驱动_epson l360 mac版驱动下载-爱普生l360驱动Mac版最新版 - 极光下载站...
- 教您用几何画板画相切的圆
热门文章
- iap php,PHP语言之华为应用内支付IAP验签
- 95-10-110-启动-AdminManager
- Kafka : 报错 KafkaController NoSuchElementException : : key not found : [xxx]
- Flink : The object probably contains or references non-serializable fields.
- 95-190-730-源码-WindowFunction-窗口操作符侧的窗口函数(内部函数)
- scala学习-Linux命令行运行jar包传入main方法参数
- Optional的巧用
- Java线程池的实现原理,你清楚么?
- 面试官常考的 21 条 Linux 命令
- JavaScript小效果的实现(笔记)