Shell特殊字符(上)

                   特殊字符   

注释符# 
    在echo命令给出的一个转义的#字符并不会开始一个注释,同样地,出现在一些参数代换结构和数值常量表达式中的#字符也同样不会开始一个注释。
    1 echo "The # here does not begin a comment."
    2 echo 'The # here does not begin a comment.'
    3 echo The /# here does not begin a comment.
    4 echo The # here begins a comment.
    5
    6 echo ${PATH#*:}       # 前面的#是参数代换,不是注释.
    7 echo $(( 2#101011 ))  # 基本转换,不是注释.

 

命令分隔符【分号】:分隔符允许在同一行里有两个或更多的命令
                   if [ -x "$fiename" ];then

 

case语句分支的结束符【双分号】:
               case "$variable" in
               abc)  echo "/$variable=abc";;
               xyz)  echo "/$variable=xyz";;

 

"点" 命令【圆点】:等同于source,这是一个bash的内建命令 
"点",作为一个文件名的组成部分, 当点(.)以一个文件名为前缀时,起作用使该文件变成了隐藏文件。
                          touch .hellowheat
作为目录名时,单个点(.)表示当前目录,两个点(..)表示上一级目录
                          cd .(当前目录)    cd ..(当前目录的父目录)
单点(.)文件名常常被当作文件移动命令的目的路径.
                       cp /home/hellowheat/* .
点(.)字符匹配.作为正则表达式的一部分,匹配字符时,单点(.)表示匹配任意一个字符

 

部分引用【双引号】:STRING"的引用会使STRING里的特殊字符能够被解释

完全引用【单引号】:'STRING'能引用STRING里的所有字符(包括特殊字符也会被原样引用). 这是一个比使用双引号(“)更强的引用

 

逗号操作符【逗号】:逗号操作符用于连接一连串的数学表达式。这一串的数学表达式每一个都被求值,但只有最后一个被返回。
            let "t2 = ((a = 9, 15 / 3))"  # Set "a = 9" and "t2 = 15 / 3"
           
转义符【后斜杠】:用于单个字符的引用机制
文件路径的分隔符【前斜杠】:分隔一个文件路径的个儿部分

 

命令替换【`command`】:引住的命令(command)执行结果能赋值给一个变量

空命令【冒号】:空操作。冒号":" 命令是Bash自身内建的,它的退出状态码是真(即0)。
   ①死循环可以这么写:
   1 while :
   2 do
   3    operation-1
   4    operation-2
   5    ...
   6    operation-n
   7 done
   8
   9 # 等同于:
  10 #    while true
  11 #    do
  12 #      ...
  13 #    done
 
  ②在if/then的测试结构中用作占位符:

   1 if condition
   2 then :   # 什么也不做的分支
   3 else
   4    take-some-action
   5 fi
 
  ③在必须要有两元操作的地方作为一个分隔符
   1 : ${username=`whoami`}
   2 # ${username=`whoami`}   如果没有开头的:,将会出错
   3 #                        除非"username"是一个外部命令或是内建命令...

   ④和重定向操作符> 连用,可以把一个文件的长度截短为零,文件的权限不变。如果文件不存在,则会创建一个新文件。
   : > data.XXX # 现在文件"data.XXX"长度为0了(作用相同于cat /dev/null >data.XXX(echo >data.XXX也可以)
     # 但是,用NULL(:)操作符不会产生一个新的进程,因为NULL操作符是内建的。
 
   ⑤和添加重定向操作符(>>)连用(: >> target_file).如果目标文件存在则什么也没有发生,如果目标文件不存在,则创建它。
  
    这只能应用在普通文件中,不能用在管道,符号链接和其他的特殊文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值