精华内容
下载资源
问答
  • TCL双引号括号括号

    千次阅读 2016-10-19 15:51:15
    在双引号和括号中的内容将视为一个参数 在双引号中的内容在替换步骤中,执行替换。。例如, puts "The current stock value is $varName" 中的varName将会被替换为varName的值。 大多在反斜杠后的内容表示不被...

    TCL的执行分为两步,第一步替换,第二步执行。。

    在方括号[]中的内容将在替换步骤中计算出结果,整体替换为结果,类似于C中调用函数。方括号在反斜杠后或在花括号内无此作用。例子:

    set b "\[set y {This is a string within braces within quotes}]"  ;#y值有更新

    puts $b

    输出。。[set y {This is a string within braces within quotes}]


    set z {[set x {This is a string within quotes within braces}]} ;#x值有更新

    puts $z

    输出。。[set x {This is a string within quotes within braces}]


    在双引号和花括号中的内容将视为一个参数

    在双引号中的内容在替换步骤中,执行替换。。例如, puts "The current stock value is $varName"  中的varName将会被替换为varName的值。

    大多在反斜杠后的内容表示不被替换。。如 \",但有一些反斜杠后的内容表示要被替换,如下表中内容。。但是如果一个反斜杠在行尾,表示下一行的内容和这行的内容是同一行,tcl将会用一个空格替换行尾的反斜杠。。

    String Output Hex Value
    \a Audible Bell 0x07
    \b Backspace 0x08
    \f Form Feed (clear screen) 0x0c
    \n New Line 0x0a
    \r Carriage Return 0x0d
    \t Tab 0x09
    \v Vertical Tab 0x0b
    \0dd Octal Value d is a digit from 0-7
    \uHHHH H is a hex digit 0-9,A-F,a-f. This represents a 16-bit Unicode character.
    \xHH.... Hex Value H is a hex digit 0-9,A-F,a-f. Note that the \x substitution "keeps going" as long as it has hex digits, and only uses the last two, meaning that \xaa and \xaaaa are equal, and that \xaaAnd anyway will "eat" the A of "And". Using the \u notation is probably a better idea.
    花括号中的内容将不被替换,除了行尾的反斜杠。。但,据参考链接表示。expr后跟花括号,执行速度更快。i.e. expr {$i*10} 比expr $i*10快

    双引号和花括号的这种用法只有当它们用来组织一个参数时才有作用。。例子:

    set Z Albany
    set Z_LABEL "The Capitol of New York is: "

    puts "$Z_LABEL {$Z}"
    puts {Who said, "What this country needs is a good $0.05 cigar!"?}
    第一行输出。。The Capitol of New York is: {Albany}。。(引号已经起了组织一个参数的作用,故花括号不再起这种作用,作为普通字符)

    第二行输出。。Who said, "What this country needs is a good $0.05 cigar!"?


    参考链接:https://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html

    展开全文
  • 对shell中各种引号使用区分的不是太清楚,今天再次总结下来,一方面加深印象,另一方面以后用到也可以回来看~ 1、双引号 使用引号可引用除字符$、`、/外的任意字符字符串。 举例: grep tao tao /...

     对shell中各种引号的使用区分的不是太清楚,今天再次总结下来,一方面加深印象,另一方面以后用到时也可以回来看~

    1、双引号 使用双引号可引用除字符$、`、/外的任意字符和字符串。

    举例:

    grep tao tao /home/taotaotheripper

    运行结果:

    grep: tao: 没有哪个文件或目录

    grep "tao tao /home/taotaotheripper" 就可以正常运行了

     

    var=taotaotheripper

    echo "$var"

    运行结果:taotaotheripper

    说明双引号不能引用$字符

     

    2、单引号

    与双引号类似,但是可以引用任何字符。

    举例:

    var=taotaotheripper

    echo '$var'

    运行结果:$var

     

    3、反引号

    反引号用于设置系统命令的输出到变量。

    举例:

    echo `date`

    运行结果:

    2010年 07月 25日 星期日 20:15:37 CST

    说明date先执行后执行结果被echo输出

     

    var=`date`

    echo $var

    运行结果与上面相同

     

    4、反斜线

    屏蔽字符的特殊含义。

    举例:

    var=taotaotheripper

    echo "/$var"

    输出结果:$var

    $字符已经被/转义

     

    5、大括号和小括号

    1)${var}和$(var)

        a)${var}

        这种用法中,加上大括号与不加没有区别,唯一不同是当不加大括号会出现歧义时应加上大括号。

        举例:

        var=taotaotheripper

        echo $vardandan

        运行结果:

       

        此时shell把vardandan看作一个变量,若第二行改为

        echo ${var}dandan

        运行结果:taotaotheripperdandan

     

        b)$(var)

         命令替换,与``作用相同,执行指令,并把指令的标准输出放到$(var)的位置。

     

    2)一串命令执行和()和{}

        ()和{}都是对一串的命令进行执行,但有所区别:

        A、()只是对一串命令重新开一个子shell进行执行

        B、{}对一串命令在当前shell执行

        C、()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开

        D、()最后一个命令可以不用分号

        E、{}最后一个命令要用分号

        F、{}的第一个命令和左括号之间必须要有一个空格

        G、()里的各命令不必和括号有空格

        H、()和{}中括号里面的某个命令的重定向只影响该命令,但括号外的重定向则影响到括号里的所有命令

        举例:

        var=taotao

        (var=dandan)

        echo $var

        运行结果:

        taotao

        子shell中的var发生了改变,但是原shell中并没有发生改变

     

        var=taotao

        { var=dandan; }

        echo $dandan

        运行结果:

        dandan

         因为{}是在当前shell运行,所以原shell中的变量发生了变化

        { var1=taotao;var2=dandan;echo $var1>a;echo $var2;}

        cat a

        输出结果:

        taotao

        只有一个指令被重定向

     

        { var1=test1;var2=test2;echo $var1;echo $var2; }>a

        cat a

        运行结果:

        taotao dandan

       

    6、中括号

        1)可用作数值计算。

        举例:

        echo $[ 1 * 2 ]

        运行结果:

        2

     

        2)可用作各种条件测试

        举例:

        [ 3 -eq 3 ]

        echo $?

        运行结果:

        0

        说明3与3相等

        关于中括号在条件测试中的用法有文件状态测试、字符串测试和数值测试,在此不展开了,呵呵。

    展开全文
  • Include 的语法 你在学习如何构造函数,看到了不同的 ...以下是一个测验,帮助你回忆使用引号和使用括号之间的区别: 练习题 include 语句中使用引号括号有什么区别? ...

    Include 的语法

    你在学习如何构造函数时,看到了不同的 include 语句:

    # include <iostream>
    # include "distance.h"
    

    以下是一个测验,帮助你回忆使用引号和使用括号之间的区别:

     

    练习题

    include 语句中使用双引号与括号有什么区别?

    • 没有区别。你可以使用任何语法。

    • 双引号在 main.cpp 目录中查找文件。方括号在系统头文件保存的位置查找文件。

    • 括号在 main.cpp 目录中查找文件。双引号在系统头文件保存的位置查找文件。

    转载于:https://www.cnblogs.com/fuhang/p/9044505.html

    展开全文
  • 1、当使用echo来打印出固定字符串常量,不带引号、带单引号和带双引号,其输出结果相同,如下: [root@baiqishi study]# echo Hello World Hello World [root@baiqishi study]# echo 'Hello World' Hello ...

    一、shell中单引号’’和双引号””

    1、当使用echo来打印出固定字符串常量时,不带引号、带单引号和带双引号,其输出结果相同,如下:

    [root@baiqishi study]# echo Hello World

    Hello World

    [root@baiqishi study]# echo 'Hello World'

    Hello World

    [root@baiqishi study]# echo "HelloWorld"

    Hello World

    2、当使用echo来打印出变量的信息时,使用单引号将不会去解析变量的名称,而是直接将单引号中的内容打印处理,不带引号或是使用双引号将会解析出变量后将其打印

    [root@baiqishi study]# temp='Hello World'

    [root@baiqishi study]# echo $temp

    Hello World

    [root@baiqishi study]# echo '$temp'

    $temp

    [root@baiqishi study]# echo"$temp"

    Hello World

    二、shell中小括号()与大括号{}

    在Shell中的小括号,大括号结构和有括号的变量,命令的用法如下:

    1.${var}

    2.$(cmd)

    3.()和{}

    4.${var:-string},${var:+string},${var:=string},${var:?string}

    5.$((exp))

    6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern)

    现在来一一详细介绍:

    1)Shell中变量的原形

    这个最常见的变量形式就是$var,打印var用命令

    echo $var

    可是这里有个问题:当你要显示变量值加随意的字符(如$varAA)时,就会出错。系统会认为整个varAA是一个变量,这时就可以用一个大括号来限定变量名称的范围,如${var}AA,这样就好了。

    2)命令替换$(cmd)
    命令替换$(cmd)和符号`cmd`(注意这不是单引号,在美式键盘上,`是ESC下面的那个键)有相同之处.以echo$(ls)来说明整个替换过程:shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令echo $(ls)中的$(ls)位置,即替换了$(ls),再执行echo命令。如下:

    $ ls

    a b c

    $ echo $(ls)

    a b c

    $ echo `ls`

    a b c

    3)一串的命令执行()和{}
    ()和{}都是对一串的命令进行执行,但有所区别:

    A,()只是对一串命令重新开一个子shell进行执行

    B,{}对一串命令在当前shell执行

    C,()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开

    D,()最后一个命令可以不用分号

    E,{}最后一个命令要用分号

    F,{}的第一个命令和左括号之间必须要有一个空格

    G,()里的各命令不必和括号有空格

    H,()和{}中括号里面的某个命令的重定向只影响该命令,但括号外的重定向则影响到括号里的所有命令

    4)几种特殊的替换结构:${var:-string},${var:+string},${var:=string},${var:?string}

    A、${var:-string}和${var:=string}:若变量var为空,则用在命令行中用string来替换${var:-string},否则变量var不为空时,则用变量var的值来替换${var:-string};对于${var:=string}的替换规则和${var:-string}是一样的,所不同之处是${var:=string}若var为空时,用string替换${var:=string}的同时,把string赋给变量var:${var:=string}很常用的一种用法是,判断某个变量是否赋值,没有的话则给它赋上一个默认值。

    B、${var:+string}的替换规则和上面的相反,即只有当var不是空的时候才替换成string,若var为空时则不替换或者说是替换成变量var的值,即空值。(因为变量var此时为空,所以这两种说法是等价的)

    C、${var:?string}替换规则为:若变量var不为空,则用变量var的值来替换${var:?string};若变量var为空,则把string输出到标准错误中,并从脚本中退出。我们可利用此特性来检查是否设置了变量的值。

    补充扩展:在上面这五种替换结构中string不一定是常值的,可用另外一个变量的值或是一种命令的输出。

    5)POSIX标准的扩展计算:$((exp))

    这种计算是符合C语言的运算符,也就是说只要符合C的运算符都可用在$((exp)),甚至是三目运算符。注意:这种扩展计算是整数型的计算,不支持浮点型.若是逻辑判断,表达式exp为真则为1,假则为0。

    6)四种模式匹配替换结构:${var%pattern},${var%%pattern},${var#pattern},${var##pattern}

    第一种模式:${variable%pattern},这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最短的匹配模式

    第二种模式:${variable%%pattern},这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最长的匹配模式

    第三种模式:${variable#pattern}这种模式时,shell在variable中查找,看它是否一给的模式pattern开始,如果是,就从命令行把variable中的内容去掉左边最短的匹配模式

    第四种模式:${variable##pattern}这种模式时,shell在variable中查找,看它是否一给的模式pattern结尾,如果是,就从命令行把variable中的内容去掉右边最长的匹配模式

    这四种模式中都不会改变variable的值,其中,只有在pattern中使用了*匹配符号时,%和%%,#和##才有区别。结构中的pattern支持通配符,*表示零个或多个任意字符,?表示零个或一个任意字符,[...]表示匹配中括号里面的字符,[!...]表示不匹配中括号里面的字符

    [root@baiqishistudy]# var=testcase

    [root@baiqishistudy]#  echo $var

    testcase

    [root@baiqishistudy]# echo ${var%s*e}

    testca

    [root@baiqishistudy]# echo $var

    testcase

    [root@baiqishistudy]# echo ${var%%s*e}

    te

    [root@baiqishistudy]# echo $var

    testcase

    [root@baiqishistudy]# echo ${var#?e}

    stcase

    [root@baiqishistudy]# echo $var

    testcase

    [root@baiqishistudy]# echo ${var#*e}

    stcase

    [root@baiqishistudy]# echo $var

    testcase

    [root@baiqishistudy]# echo ${var##*e}

     

    [root@baiqishistudy]#  echo $var

    testcase

    [root@baiqishistudy]# echo ${var##*s}

    e

    [root@baiqishistudy]# echo $var

    testcase

    [root@baiqishistudy]# echo ${var#test}

    case

    [root@baiqishistudy]# echo $var

    testcase

    [root@baiqishistudy]# echo ${var#tests}

    testcase

    展开全文
  • C语言包含头文件引号和括号的区别

    万次阅读 多人点赞 2013-07-13 14:04:02
    用尖括号 #include <>: 一般用于包含标准的库头文件,编译器会去系统配置的库环境变量者用户配置的路径去搜索,而不会在项目的源码目录去查找 用双引号 #include "": 一般用于包含用户自己编写的头文件,...
  • shell 总结 单引号引号括号

    千次阅读 2015-08-03 10:38:53
    chenxb @computercxb :~ $ echo '123test $PATH' 123 test ...单引号会忽略所有的特殊字符 ...双引号忽略大多数,但不包括$ \ ` ...给变量加上花括号{} ...shell中推荐给所有变量加上花括号,这是个好习惯
  • 关于js中函数调用,加括号和不加括号,加引号和不加引号的区别
  • C语言中#include后面跟双引号和括号的区别 ■在嵌入式系统中根据使用的芯片在集成编译软件中都有自己的集成库,在用户自己建立库文件,命名千差万别。 ■用双引号时首先访问用户文件,如果找不到则就去集成库中...
  • 用include 引用头文件,双引号和括号的区别:1.双引号:引用非标准库的头文件,编译器首先在程序源文件所在目录查找,如果未找到,则去系统默认目录查找,通常用于引用用户自定义的头文件。 2.尖扩号:只在系统...
  • 引号和括号区别

    2016-11-18 23:13:46
    预处理器发现 #include 指令后,就会寻找后跟的文件名并把这个文件的内容包含到当前...#include 指令有两种使用形式  #include stdio.h> 文件名放在尖括号中  #include “mystuff.h” 文件名放在双引号中 
  • 和引号&amp;amp;quot;&amp;amp;quot;的区别其实很简单 标准库使用&amp;amp;amp;lt;&amp;amp;amp;gt; 比如C中 #include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt; 不属于标准库的头文件则...
  • 如何去掉字符串中的引号和括号

    千次阅读 2020-09-03 16:54:14
    我们如何去掉中间的的引号和括号呢? 1.去掉左边中括号 String s1 = s.replace("[","")。 2.去掉左右边中括号 String s2 = s1.replace("]","")。 3.去掉引号 String s3 = s2.replace("\"","")。 最终s3=3272bf98dd...
  • EMACS:自动补齐单引号和括号

    千次阅读 2018-12-01 23:02:57
    EMACS:自动补齐单引号和括号问题环境解决办法 问题 EMACS在开启electric-pair-mode后,还是不能自动补齐单引号以及大括号,在写代码的时候,例如Python,很不方便。 环境 EMACS-25.2.2 根据查的情况,至少一直到...
  • PHP中单引号、双引号、并置符以及大括号使用。在PHP中字符串可以用单引号和引号两种输出,不过相比较来说,前者效率略高,但二者还是有不同之处。单引号不解析变量转义字符,双引号则两者兼备。至于并置...
  • Include头文件的顺序: ...双引号和括号的区别: 编译器预处理阶段查找头文件的路径不一样。 对于使用引号包含的头文件,查找头文件路径的顺序为: 当前头文件目录 编译器设置的头文件路径(编...
  • 这就意味着,当系统里(如/usr/include/里)有一个叫做math.h的头文件,而你的源代码目录里也有一个你自己写的math.h头文件,那么使用括号时用的就是系统里的,而使用引号的话则会使用你自己写的那个 ...
  • include中双引号和括号的区别

    千次阅读 2013-07-01 16:26:16
    include包含头文件的语句中,双引号和括号的区别是什么?   #incluce ""格式:引用非标准库的头文件,编译器从用户的工作目录开始搜索。双引号表示先在程序源文件所在目录查找,如果未找到则去系统默认目录查找,...
  • 前几天在使用grep命令出现了让我疑惑的现象. 我尝试通过 [:alpha:] 关键字来搜索文件中的所有英文字母. 首先我们看下原文件: [root@server ~]# cat test Hello insert something good bye #!/binbash 123...
  • 引号与花括号

    2019-04-06 20:48:32
    在Tcl中,可通过双引号“”括号{}将多个单词包括分隔符(例如:换行符空格)置换符(例如:美元符号$、方括号[]反斜杠)等特殊字符组成一组,作为一个参数处理;区别在于双引号内的置换正常进行,而花括号...
  • C++已经有一些编写好的头文件(比如标准函数库等等),它们存放在VC++的Include...所以包含C++提供的头文件,应该使用括号。  但是引用非标准库的头文件,编译器从用户的工作目录开始搜索,这时要用到双引号
  • 使用括号表示在包含文件目录中去查找(包含目录是由用户在设置环境设置的),而不在源文件目录去查找; 使用引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。
  • ss=ss.replaceAll("\"","") // 引号替换为空 ss=ss.replaceAll("\\[","") // [替换为空 ss=ss.replaceAll("\\]","") // ]替换为空
  • C语言include中双引号和括号的区别

    千次阅读 2017-04-27 11:10:50
    括号:表示只在系统默认目录或者括号内的路径查找,通常用于包含系统中自带的头文件。 双引号:引用非标准库的头文件,编译器从用户的工作目录开始搜索。如果未找到则去系统默认目录查找,通常用于包含程序作者...
  • 引号""括号<>的区别 编译器预处理阶段查找头文件的路径不一样。 双引号和括号都包含的是(按照查找头文件路径顺序排列): 1.编译器设置的头文件路径(编译器可使用-I显式指定搜索路径) 2.系统变量C...
  • 用尖括号 #include 一般用于包含标准的库头文件,编译器会去系统配置的库环境变量者用户配置的路径去搜索,而不会在项目的当前目录去查找 用双引号 #include "": 一般用于包含用户自己编写的头文件,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 181,231
精华内容 72,492
关键字:

引号和括号同时使用时