Bash中冒号(:)的作用和用法

本文最后更新于2015年11月7日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

搜索关键字:
  • linux shell colon
  • linux Bash 冒号
参考链接:
参考解答:

上面的man手册说 冒号(:) 是”No effect”的,但如果真的是一点作用都没有的话,为什么会有存在的必要呢?

因为在历史上,Bourne shell没有内建的 true/false 命令,因此用 冒号(:) 代表 true ,用 “let 0” 这样的代表 false 。并且,在由 Bourne shell 衍生出来的shell中 冒号(:) 要比 true 稍微快那么一点。

而且,冒号(:)并不是一点作用都没有的,下面就是冒号(:)常见的用法:

1.变量默认值(参数扩展)

当变量VAR没有声明或者为NULL时,将VAR设置为默认值DEFAULT

2.空语句(占位符)

3.清空文件

4.注释(#后的注释内容不会被检查,但:后的注释内容会被检查,如果有语句如果出现语法错误,则会报错)

格式:: your comment here
格式:# your comment here
单行注释

格式:: ‘comment line1
comment line2
more comments’
多行注释

5.作为函数名

不过这个会将冒号的本来意义转变(如果你不小心将冒号作为函数名,你可以使用unset -f : 来取消function的定义)

=EOF=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/2512.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注