zoukankan      html  css  js  c++  java
  • 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代码  收藏代码
    1. if [ "today" == "2011-08-29" ]; then  
    2.     :  
    3. else  
    4.     :  
    5. 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代码  收藏代码
    1. #!/bin/sh  
    2.   
    3. : this is single line comment  
    4.   
    5. : 'this is a multiline comment,  
    6. second line  
    7. end of comments'  
    8.   
    9. if [ "1" == "1" ]; then  
    10.         echo "yes"  
    11. else  
    12.         :  
    13. fi  

     

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

  • 相关阅读:
    SSH整合简述一
    错误:找不到类org.springframework.web.context.ContextLoaderListener
    Spring(七)持久层
    CSS 类选择器(四)
    BeanFactory not initialized or already closed
    Spring(六)AOP切入方式
    Postman Mock Server
    Sentry快速开始并集成钉钉群机器人
    OAuth2实现单点登录SSO
    图解TCP三次握手
  • 原文地址:https://www.cnblogs.com/warmingsun/p/3219213.html
Copyright © 2011-2022 走看看