我使用过的Linux命令之:(冒号)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-18 20:56 点击:

用途说明
我们知道,在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 <<<"Hello" >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 ~]#

 

本文出自“Bash @ Linux”
 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • /etc/fstab 详解
    • nginx主主集群
    •  LVS-NAT和LVS-DR模式的实现详解
    •  RHCE考试之磁盘配额
    • 学习笔记:ACL详解
    • suse linux双网卡双网关配置
    •  LVM逻辑卷管理器
    •  Nginx主主负载均衡架构
    • ubuntu学习Mysql

    快速直达

    操作系统导航

    LinuxWindows虚拟机
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1