关于shell变量计算中单中括号与双中括号、单引号与双引号的一些看法

  单中括号是比较基本的变量计算及数值比较的方法,一般情况下已经足够使用;双中括号是扩展的数值比较方法,里面的数值计算也相对来说复杂些。这里我推荐大家平常工作中使用单中括号即可,满足日常的工作,不做运维开发的话,双括号方面涉及不多。

  这里我还得提下单括号与双括号,这里也是我经常混淆的地方,其实理解了也就轻松多了。单括号是对一段比较长的命令进行合并,单括号中的命令用-0或-a来进行衔接;是不是非常简单?

 双中括号就复杂多了,一半而言,涉及变量引用的话,$((命令))=`命令` ,双括号可以在数值计算中引用,只要大家牢记上述基本的‘公式’。

  好了,这里再给大家介绍一下双引号和单引号的区别,像之前老师说的,单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符 ,而不会有特殊符号。所以说单引号比较笨一点,它不会将引号内的内容像变量一类的进行转换,举个例子:用echo显示变量:

 filename=GG

 echo "$filename"=GG

 echo ' $filename'=$filename

这里就不继续深挖中括号内单双引号或者不加引号的内容了,这一块就稍微复杂点。

 下面来谈下我学linux这靠一个月的看法,我是非常不看好一些来培训的学长们写书的,但我也非常赞同他们这种乐于分享的精神,我不否定他们为linux的某些知识做出了贡献,但这却不符合我们学习linux的初衷,我认为除非是那种在运维圈工作了十年以上的大咖们才有出书的实力,说的难听点,如果是个骆驼和马都能写书的话,我想这种知识不要也罢。好了,以上只是我的个人看法,欢迎大家有问题与我交流,谢谢。

 

原创文章,作者:sjfbjs,如若转载,请注明出处:http://www.178linux.com/34593

(1)
sjfbjssjfbjs
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • 马哥教育网络班20期 第10周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 简述: 第一阶段:BIOS启动引导阶段;                     &…

    学员作品 2016-08-22
  • linux sed命令

    linux sed命令 简介: sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件…

    学员作品 2016-08-10
  • Centos启动流程及服务脚本(work)

    centos启动流程 简单流程简介: POST –> Boot Sequence(BIOS) –> Boot Loader (MBR) –> Kernel(ramdisk) –> rootfs –> switchroot –> /sbin/init &…

    学员作品 2016-09-14
  • linux操作系统rpm软件包管理

    软件包管理 软件包运行环境: API:Application Programming Interface     使用标准:POSIX:     源代码运行步骤:预处理(如处理注释)—>编译成汇编代码—>链接其他库文件 ABI:applicatio…

    2016-08-22
  • 2015 | 月入过万,再不看你就会后悔

    新的一年,又是一个轮回的开始,又有很多学员加入了我们的征途!我们本着武侠精神,传经授道,助你仗剑走天涯。为了让新的学员更加有信心我们特此列一些学员反馈的就业情况,传播正能量,我们承诺以下情况绝对真实,可找学员核实。 学员高薪就业 以上只是小部分学员,还有非常多的学员在淘宝、大众点评、腾讯、携程、新浪、九城、百度、搜狐、华泰证券、民生银行、360、乐视网等等5…

    2015-03-09
  • sed & vim练习

    1、 删除/etc/grub2.conf文件中所有以空白开头的行行首的空白字符  2、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符 3、在/root/install.log每一行行首增加#号 4、在/etc/fstab文件中不以#开头的行的行首增加#号 5、处理/etc/fstab路径,使用s…

    学员作品 2016-08-10