TCL-{} 与“”的区别;$(), $, ${}的区别

1.tcl中,{} 对里面的各种 特殊字符 都不作处理,仅当做普通的字符串

            “” 对里面的各种 分隔符 不作处理,但是对换行符(\n)置换符($;[ ])会照常处理

需要注意的是,在foreach中的 {} 里面的内容  变量置换 和 计算  操作仍会正常执行,是因为在foreach中{}作为其中的循环体,因此会正常执行。

2.$();${};$的区别

①:$():小括号里面通常是放命令,用来做命令替换,即将命令执行后的结果作为参数返回,但是$()这个用法通常使用在Makefile中,有3个作用分别是 变量引用;函数调用;shell命令

②:${}:花括号里面通常是放变量,用来做变量替换,将变量的值替换以后再返回

③:$:$后面跟的也是变量,用来变量替换,与{}相比,花括号{}相当于界定符,避免混淆

如:

set a 10                             set a  10

echo ${a}b                        echo $ab

10b                                    can't read "ab":no such variable

3.echo后面不加引号;单引号‘’;双引号“”;反引号``的区别

不加引号:字符串原样输出,变量会被替换,但是对空格不会解析,不会把空格作为整体;

单引号‘’:单引号无视里面所有的字符,不会进行替换;

双引号“”:字符串原样输出,变量会被替换,空格也会当做整体一同输出;

反引号``:命令替换,将命令执行后的结果返回再输出;

① echo aaa     bbb          ② echo “aaa     bbb”   

     aaa bbb                           aaa     bbb                 

 ③ set a 10                        ④ set a 10            ⑤ set a 10

     echo $a                            echo '$a'               echo “$a”

     10                                     $a                          10

4.grep后面不加引号;单引号‘’;双引号“”的区别

不加引号:与echo类似,同样变量会进行替换,但对字符串中含有空格不会当做整体

单引号‘’:单引号无视里面的字符,不会进行替换;

双引号“”:变量会进行替换,同时字符串中间的空格也会视为整体

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值