`

我使用过的Linux命令之:(冒号) - 啥也不做(除了……)

阅读更多

我使用过的Linux命令之:(冒号) - 啥也不做(除了……)

本文链接:http://codingstandards.iteye.com/blog/1160298   (转载请注明出处)

 

用途说明

我们知道,在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.
 

常用参数

格式::

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

 

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 <<<"Hello" >123.txt
[root@node56 ~]# cat 123.txt
Hello
[root@node56 ~]# : >123.txt
[root@node56 ~]# cat 123.txt
[root@node56 ~]#

 

示例三 脚本注释、占位符

脚本test_colon.sh

#!/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命令系列总目录

 

8
3
分享到:
评论
2 楼 codingstandards 2011-08-31  
山风小子 写道
不错~~~

谢谢支持
1 楼 山风小子 2011-08-30  
不错~~~

相关推荐

    vue样式穿透 ::v-deep的具体使用

    但需要注意的是,`::v-deep` 必须与双冒号 `::` 一起使用,否则可能不起作用。 以下是一些使用 `::v-deep` 的实例: 1. 当你的 `&lt;style&gt;` 标签语言设置为 CSS 时,可以这样使用: ```html .a::v-deep .b { /* .....

    解决linux 所有命令无法使用的问题

    在Linux系统中,命令行是用户与操作系统交互的主要方式,一旦所有命令都无法使用,这将严重影响到系统的操作和管理。本文将深入探讨这个问题的原因及解决方案。 通常,Linux系统中的命令是通过`$PATH`环境变量来...

    linux命令和windows命令的区别.pdf

    - Linux使用根目录“/”来表示文件系统的起点,而Windows使用盘符加冒号(如C:),有时也会使用盘符加斜杠(如C:/)。 - 在路径中,Linux中的“.”代表当前目录,“..”代表上一级目录。相对应的,Windows使用“....

    oracle特有的错误:ORA-01036:非法的变量名/编号

    在Oracle数据库系统中,"ORA-01036:非法的变量名/编号"是一个常见的错误,通常出现在PL/SQL代码或者SQL查询语句中,当你尝试使用一个不正确或者未定义的变量时,Oracle数据库会抛出这个错误。这个错误可能是由于...

    linux管理手册命令大全

    对于IT专业人员来说,掌握Linux的基本管理和命令操作是非常重要的技能之一。本文将详细介绍Linux用户管理相关的核心命令及其用法,旨在帮助读者更好地理解和运用这些命令。 #### 二、Linux用户管理概述 Linux系统是...

    Linux命令file命令

    ### Linux命令file命令详解 #### 一、命令概述 `file`命令是Linux系统中一个非常实用的...总之,`file`命令作为Linux系统中的基本工具之一,在日常使用中非常常见,掌握它的使用方法对于提高工作效率具有重要意义。

    Linux命令速记1

    【Linux命令速记1】 在IT领域,Linux操作系统以其开源、稳定和强大的性能深受程序员和系统管理员的喜爱。熟练掌握Linux命令行是每一个IT从业者必备的技能之一。本篇将聚焦于Linux命令行基础,通过丰富的实例和详尽...

    linux命令系列之man.docx

    linux 命令系列之 man Linux 命令系列之 man 文档主要介绍了 Linux 系统中的 man 命令,man 命令是用于查看在线手册的命令,可以帮助用户格式化地显示相关手册。下面是 man 命令的详细介绍: 首先,man 命令的命令...

    cmd操作命令和linux命令大全收集

    CMD命令:开始-&gt;运行-&gt;键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS...

    Linux应用技术:Linux常用命令与VI文件编辑器.docx

    ### Linux应用技术:Linux常用命令与VI文件编辑器 #### 实验目的 本实验旨在让学员熟练掌握Linux操作系统的基本操作,包括常用的文件和目录管理命令以及如何使用VI编辑器进行文本文件的创建与编辑。 #### 实验内容...

    VI-Linux基础操作入门

    VI(Visual Editor)是Unix/Linux系统中广泛使用的文本编辑器之一。它分为三种基本模式:命令模式(Normal Mode)、插入模式(Insert Mode)以及末行模式(Last Line Mode)。用户通过不同的按键组合在这些模式间...

    linux系统命令大全及使用详解

    Linux系统命令大全及使用详解中涵盖了大量常用的Linux操作指令,这些指令是Linux系统管理与日常使用的基础。Linux作为一个强大的开源操作系统,其命令行界面是与系统进行交互的主要方式。掌握这些命令对于新手来说...

    linux-vi命令

    - 进入底线命令模式通常通过在命令模式下输入冒号(`:`)来实现。 #### 三、Vi编辑器的常用操作指令 **1. 进入插入模式**: - `i`:在光标当前位置之前插入文本。 - `a`:在光标当前位置之后插入文本。 - `o`:在...

    Linux系统中Vi常用命令及高级应用

    在Linux系统中,Vi(Visual Editor)是一个强大的文本编辑器,对于系统管理员和程序员来说是必不可少的工具。Vi分为两种模式:命令模式和插入模式。在命令模式下,用户可以通过键盘输入各种命令来操作文本,而在插入...

    Linux GNU Makefile中文版手册

    ### Linux GNU Makefile中文版手册知识点总结 #### 1. Make 概述 - **Make 的功能**: Make 是一种自动化构建工具,它可以根据文件的修改时间自动决定哪些文件需要重新编译,并执行相应的命令来更新这些文件。这...

    最新Linux系统命令及其使用详解.pdf

    在Linux操作系统中,掌握一些基本的命令是至关重要的,这些命令可以帮助用户有效地管理文件、目录以及系统设置。本文将详细解析几个常用的Linux命令,包括`cat`、`cd`、`chmod`和`chown`。 1. `cat`命令: `cat`,...

    vi.rar_linux_linux VI_linux 命令_vi_vi linux

    在Linux操作系统中,`vi`(Visual Editor)是一款强大的文本编辑器,它是Vim(Vi IMproved)的前身。作为一款命令行界面下的编辑器,`vi`在系统管理、脚本编写等方面有着广泛的应用。了解并熟练掌握`vi`的基本操作和...

    linux 修改文件内容 vi命令_操作系统_risemypassion的专栏-CSDN博客1

    Linux中的`vi`编辑器是所有Unix和Linux系统的核心文本编辑工具,因其高效和灵活性而被广泛使用。本文将深入探讨`vi`的基本概念、操作和常用命令。 首先,`vi`编辑器有三个主要模式:命令模式(Command Mode)、插入...

    Kotlin中双冒号::使用方法

    Kotlin 中双冒号 :: 使用方法 Kotlin 中双冒号 :: 使用方法是一种特殊的语法结构,它可以将一个方法作为参数传递给另外一个方法。这种语法结构在实际开发中非常有用,本文将详细介绍 Kotlin 中双冒号 :: 使用方法的...

Global site tag (gtag.js) - Google Analytics