shell 中特殊字符

1 .特殊字符 (转义字符\可以让这些均无用)

    :    true  ()站位符

       while :

       do 

             echo a;

        done

   

    $   取值符

    ‘ ’   忽略下个 '之前的所有特殊字符

    " " 除 $ \  '外 

    root@ubuntu:~# echo '$(echo a)'
    $(echo a)
    root@ubuntu:~# echo "$(echo a)"
    a


     ` `  `cat` == $(cat) 建议后一种     ( $(cat) 与 ${cat}区别  )

     ( )   命令分组  ,内部的命令会在一个子shell 中执行

     (())  整数扩展运算a=10;((b=a++));

     { } a.单独使用时作为大括号扩展 a.{1..5}==a.1 a.2 a.3 a.5

 root@ubuntu:~# echo a{5..1}
 a5 a4 a3 a2 a1
 root@ubuntu:~# echo a.{n..a}
 a.n a.m a.l a.k a.j a.i a.h a.g a.f a.e a.d a.c a.b a.a

      b.匿名函数,不在子shell中执行与小括号区别 


      [  ]  就是命令test   [_ _]格式 留空格

root@ubuntu:~# [ -d /root ]
root@ubuntu:~# echo $?
0
root@ubuntu:~# [ -d /root1 ]
root@ubuntu:~# echo $?
1
root@ubuntu:~# 

root@ubuntu:~# [ 1 -gt 0 ]&&echo ">"
>
root@ubuntu:~# [ 1 -lt 0 ]&&echo ">"
root@ubuntu:~#


root@ubuntu:~# { if [ 1 -gt 0 ]; then echo 1;else echo 0 ;fi }
1
root@ubuntu:~# { if [ 1 -lt 0 ]; then echo 1;else echo 0 ;fi }
0

        

 [[ ]]  是bash内置的命令


2.替代字符

       ~        home 目录

       ~-        $OLDPWD 

       ~+       $PWD

       ~root

       ~wang 


root@ubuntu:/home/wang# echo ~
/root
root@ubuntu:/home/wang# echo ~wang
/home/wang
root@ubuntu:/home/wang# echo ~-
/root
root@ubuntu:/home/wang# echo ~+
/home/wang
root@ubuntu:/home/wang# echo $PWD
/home/wang
root@ubuntu:/home/wang# echo $OLDPWD
/root


3.文件替代


root@ubuntu:/home/wang/web# ls lib?ml*
libxml2-devel-2.6.26-2.1.2.8.i386.rpm


4 .shell 扩展   (顺序)    

1.brace expansion(花括号扩展){1.10}
2.tilde expansion(代字符号扩展)~
3.parameter expansion(参量扩展)${var}
4.command substitution(命令替换)$(date)
5.arithmetic expansion(算术扩展)$((1+2))
6.process substitution(过程替换)echo <(:)    (??????????)
7.word splitting(词分离)
8.file name expansion(路径名扩展)*?
9.quote removal (去引号)


5.参数类

testargs()
{
    echo "$@"
}


testargs a b c d e f

打印 a b c d e f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值