首页 > 其他分享 >TCL-{} 与“”的区别;$(), $, ${}的区别

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

时间:2024-03-21 16:59:57浏览次数:28  
标签:10 变量 区别 单引号 引号 echo 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类似,同样变量会进行替换,但对字符串中含有空格不会当做整体

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

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

标签:10,变量,区别,单引号,引号,echo,TCL,替换
From: https://blog.csdn.net/m0_70466938/article/details/136902471

相关文章

  • 使用tencentcloud-sdk-php库通用印刷体识别GeneralBasicOCR文字识别PHP代码完整版
    使用tencentcloud-sdk-php进行通用印刷体识别(GeneralBasicOCR),您需要先确保已经按照上述步骤安装了该SDK,并在腾讯云控制台上获取了您的SecretId和SecretKey。代码开始:<?phprequire'vendor/autoload.php';//根据您的项目结构引入autoload文件useTencentCloud\Comm......
  • CAD的ShowDialog与普通ShowDialog的区别
    记录解决的奇奇怪怪的bug今天在对form设置启动位置的时候一直设置不成功,后面才发生是AcadApp.ShowModalDialog的问题!我们知道CAD的ShowDialog会使新开的窗体在CAD上面所以正常开窗体都是用这个.今天我想把窗体开在我鼠标点的位置StartPosition=FormStartPosition.Ma......
  • CGroup和namespace的介绍以及区别
    namespace:namespace是Linux内核用来隔离内核资源的方式。通过namespace可以让一些进程只能看到与自己相关的一部分资源,而另外一些进程也只能看到与它们自己相关的资源,这两拨进程感受不到对方的存在。具体方式就是把一个或者多个进程的相关资源指定在同一个namespace中。Linuxnam......
  • 考研数学一、数学二和数学三有什么区别?终于有人说清楚了
    考研数学一、数学二和数学三主要针对不同类型的专业和学科,它们在考试内容、难度和适用的专业上有所区别。考试内容和难度数学一涵盖高等数学的广泛内容,包括空间解析几何、多元函数积分学(二重积分以外)、无穷级数、微积分的物理应用等。数学一是三者中内容最广泛、难度最高......
  • 接口和抽象类的区别
    接口和抽象类的区别修饰的关键字不同:接口interface,抽象类abstractclass抽象类本质也是一个类,某个类只能只能继承一个抽象类(类的单继承),但可以实现多个接口抽象类只能继承于一个类,但接口可以继承多个接口(类单继承,接口多继承)抽象类中的可以有抽象方法和普通方法,接口中除了......
  • 从时间复杂度的角度出发,list和vector之间查找,插入,删除等数据操作的区别
    list和vector是STL(标准模板库)中常用的两种序列容器,它们各自在不同类型的操作上有着不同的优势。下面是list和vector在不同操作上的擅长之处:list的擅长操作插入和删除操作:list是一个双向链表,插入和删除元素时只需要调整相邻节点的指针,因此在中间或任意位置插入或删除元素时效率很......
  • .forEach循环和.map()循环的主要区别,它们分别在什么情况下使用?
      .forEach()和.map()都是JavaScript数组的迭代方法,用于对数组中的每个元素执行某个操作。它们之间的主要区别在于返回值和使用情况。1.forEach()方法:  .forEach()方法用于遍历数组中的每个元素,并对每个元素执行指定的回调函数。该方法没有返回值,它仅用于执......
  • JavaScript中的“==“和“===“运算符的区别
    JavaScript中的比较运算符"=="和"==="用于比较两个值是否相等。尽管它们的目的相同,但它们在比较过程中采用了不同的策略1.“==”相等运算符:"=="运算符执行一种松散相等比较,它在比较之前会进行类型转换。如果进行比较的两个值类型不同,JavaScript会尝试将它们......
  • 如何理解UDP 和 TCP? 区别? 应用场景?
    一、UDPUDP(UserDatagramProtocol),用户数据包协议,是一个简单的面向数据报的通信协议,即对应用层交下来的报文,不合并,不拆分,只是在其上面加上首部后就交给了下面的网络层也就是说无论应用层交给UDP多长的报文,它统统发送,一次发送一个报文而对接收方,接到后直接去除首部,交给上面的应......
  • Go环境变量配置,及GOROOT、GOPATH的区别
    一、安装Gogo下载地址:https://golang.google.cn/dl/windows下载安装,有两种方式。解压和直接安装方式一:直接下载安装包。以.msi结尾的文件。例如:go1.22.1.windows-amd64.msi 下载后,双击后一直点下一步即可安装成功。方式二:下载压缩包文件,直接解压。解压后配置环境变量......