1. <tr id='zqga'><strong id='zqga'></strong><small id='zqga'></small><button id='zqga'></button><li id='zqga'><noscript id='zqga'><big id='zqga'></big><dt id='zqga'></dt></noscript></li></tr><ol id='zqga'><table id='zqga'><blockquote id='zqga'><tbody id='zqga'></tbody></blockquote></table></ol><u id='zqga'></u><kbd id='zqga'><kbd id='zqga'></kbd></kbd>
  2. <ins id='zqga'></ins>
  3. <i id='zqga'></i>

      <fieldset id='zqga'></fieldset>
        <acronym id='zqga'><em id='zqga'></em><td id='zqga'><div id='zqga'></div></td></acronym><address id='zqga'><big id='zqga'><big id='zqga'></big><legend id='zqga'></legend></big></address>

        <i id='zqga'><div id='zqga'><ins id='zqga'></ins></div></i>

          <dl id='zqga'></dl>

          <code id='zqga'><strong id='zqga'></strong></code>

        1. <span id='zqga'></span>

          shell脚本中一些特殊符号

          • 时间:
          • 浏览:17
          • 来源:124软件资讯网

            1、{}大括号:

            用法一:通配符扩展

            eg: ls my_{finger,toe}s

            这条下令相当于如下下令的组合:

            ls my_fingers my_toes

            eg: mkdir {userA,userB,userC}-{home,bin,data}我们将获得 userA-home, userA-bin, userA-data, userB-home, userB-bin,userB-data,userC-home, userC-bin, userC-data ,这几个目任命法二:可用于语句块的结构  ,语句之间用回车离隔  。若是你想在某些使用单个语句的地方(好比在AND或OR列表中)使用多条语句  ,你可以把它们括在花括号{}中来结构一个语句块  。

            eg:

            {

            grep -v "$cdcatnum" $strack_file > $temp_file

            cat $temp_file > $strack_file

            echo

            cat -n file1

            } (注:以上大括号中的四句下令够成了一个语句块)

            用法三:参数扩展

            ${name:-default}使用一个默认值(一样平常是空值)来取代那些空的或者没有赋值的变量name;

            ${name:=default}使用指定值来取代空的或者没有赋值的变量name;

            ${name:?message}若是变量为空或者未赋值  ,那么就会显示堕落误信息并中止剧本的执行同时返回退出码1 。

            ${#name}给出name的长度

            ${name%word} 从name的尾部最先删除与word匹配的最小部门  ,然后返回剩余部门${name%%word} 从name的尾部最先删除与word匹配的最长部门  ,然后返回剩余部门${name#word} 从name的头部最先删除与word匹配的最小部门  ,然后返回剩余部门${name##word} 从name的头部最先删除与word匹配的最长部门  ,然后返回剩余部门(注 ,name为变量名  ,word为要匹配的字符串)

            用法三在处置惩罚字符串和未知变量时  ,是很有用的  。

            2、[]中括号:

            用法一:通配符扩展:

            允许匹配方括号中任何一个单个字符

            eg: ls /[eh][to][cm]*

            相当于执行 ls /etc /home(若有/eom目录  ,就相当于会执行ls /etc /home /eom)

            注:在mkdir下令下不能扩展

            用法二:用于条件判断符号:

            []符号可明白为指向test下令的一个软链接  ,以是其用法可完全参照test  ,将test位置替换为[便可  。

            eg: if [ "$?" != 0 ] 等价于 if test "$?" != 0

            then echo "Executes error"

            3、`command` 反引号:`command`与$(command)的寄义相同 ,都是返回当前执行下令的效果eg: #!/bin/sh for file in $(ls f*.sh);do

            lpr $file

            done

            exit 0

            该例实现了扩展f*.sh给出所有匹配模式的文件的名字 。

            4、'string'单引号和"string"双引号

            双引号:若是想在界说的变量中加入空格 ,就必须使用单引号或双引号  ,

            单、双引号的区别在于双引号转义特殊字符而单引号不转义特殊字符

            eg: $ heyyou=home

            $ echo '$heyyou'

            $ $heyyou($没有转义)

            eg: $ heyyou=home

            $ echo "$heyyou"

            $ home (很显着 ,$转义了输出了heyyou变量的值)

            5、$#它的作用是告诉你引用变量的总数目是几多;

            $它的作用是告诉你shell剧本的历程号;

            $* 以一个单字符串显示所有的剧本通报的参数 。等价于{GetProperty(Content)} $2 $3.......;$@ 与$*基本类似(参见序号7)  ,但在数组赋值时有些差别;$? 前一个下令的退出码;

            $-显示shell使用的当前选项;

            $! 最后一个后台运行的历程ID号  。

            12下一页