1.双引号的问题 变量用双引号括起来的意义 如果变量不用双引号括起来,比如echo $a,那么隐含的意义就是,把$a变量的字符串,按照空格.制表符.换行符等符号来分割开.然后把这些分割后的每一项再按 glob 模式展开,最后把这些值,再用一个空格重新连接起来,并打印出来. 如果碰巧$a变量的字符串中,有连续两个空格符号,或者有制表符,那么echo $a就与程序员的思路出现了不一致.比如下例: 1 qilei@AFAAW-704030720:~$ cat a.sh 2 #!/bin/bash 3…
shell脚本中引号也是有讲究的. 可以分为单引号‘ ’,双引号“ ”和 反引号 ` ` 具体区别来看一个例子 输出结果 可得出结论 1. 单引号括起来的字符都作为普通字符出现,如第4,7,10,13,16,19,22行 值得一提的是第19行,执行结果并非预期的 My home dictory is : ‘$HOME’  而是 My home dictory is :/root 原因是执行的时候My home dictory is : ‘$HOME’  这里还有单引号,$HOME继续作为普通字符…
#前言:在生产工作中if条件语句是最常使用的,如使用来判断服务状态,监控服务器的CPU,内存,磁盘等操作,所以我们需要熟悉和掌握if条件语句. #简介 if条件语句,简单来说就是:如果,那么.有if单分支结构,双分支结构,多分支结构 #1.单分支结构 #语法结构: if <条件表达式> then 指令 fi 或 if <条件表达式>;then 指令 fi 或 if <条件表达式> then if <条件表达式> then fi fi #简单记忆法: 如果 &…
在Linux操作系统上编写Shell脚本时候,我们是在变量的前面使用$符号来获取该变量的值,通常在脚本中使用”$param”这种带双引号的格式,但也有出现使用'$param'这种带引号的使用的场景,首先大家看一段例子: 复制代码代码如下: [root@linux ~]# name=TekTea[root@linux ~]# echo $nameTekTea[root@linux ~]# sayhello=”Hello $name”[root@linux ~]# echo $sayhelloHel…
shell可以识别4种不同类型的引字符号: 单引号字符' 双引号字符" 反斜杠字符\ 反引号字符` 1. 单引号 ( '' ) # grep Susan phonebook Susan Goldberg 403-212-4921 Susan Topple    212-234-2343 如果我们想查找的是Susan Goldberg,不能直接使用grep Susan Goldberg phonebook命令,grep会把Goldberg和phonebook当作需要搜索的文件 # grep 'Su…
使用unix/linux的程序人员几乎都写过shell脚本,但这其中很多人都是为了完成功能而在网上找代码段,这样写出来的shell脚本在功能方面当然是没有什么问题,但是这样的方式不能写出优雅的shell脚本. 从今天开始,starfe就将自己平时在书写shell脚本过程中的经历做一总结,力图形成一个系列---"书写优雅的shell脚本". 在此,对"优雅"一词的定义有4点:(1)健壮:(2)结构清晰:(3)性能好:(4)力求简单. 好了,废话不多说,开始今天的主题:…
在使用PowerDesigner表属性的Preview查看创建脚本的时候,发现大多表名和字段名都加上了双引号,而且有引号的都是大小写混合的,导致创建的表里,表名和字段名也都是大小写混合的. 在一番搜索查找之后,发现如下方法,记录下来以便后续查看: 可通过修改PD的属性设置,调整Sql Format下的CaseSensitivityUsingQuote为NO即可 目录: Database -> Edit Currnet DBMS -> Script -> Sql -> Format…
#前言:这篇我们接着写shell的另外一个条件语句case,上篇讲解了if条件语句.case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,case看起来更规范和易读 #case条件语句的语法格式 case "变量" in 值1) 指令1... ;; 值2) 指令2... ;; *) 指令3... esac #说明:当变量的值等于1时,那么就会相应的执行指令1的相关命令输出,值等于2时就执行指令2的命令,以此类推,如果都不符合的话…
简要总结: 单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看见的是什么就会输出什么. 双引号: 把双引号内的内容输出出来:如果内容中有命令,变量等,会先把变量,命令解析出结果,然后在输出最终内容来. 双引号内命令或变量的写法为`命令或变量`或$(命令){变量}. 无引号: 把内容输出出来,可能不会讲含有空格的字符串视为一个整体输出,如果内容中有命令,变量等,会先把变量,命令解析结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双…
目录 一.条件测试 1.1.表达说明 1.2.test命令 文件测试 1.3.整数值比较 1.4.字符串比较 1.5.逻辑测试 二.if语句 2.1.单分支结构 2.2.双分支结构 2.3.多分支结构 三.case语句 3.1.实例 一.条件测试 1.1.表达说明 Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0(真true)时表示成功,返回值为非0值(假false)时表示失败或异常. 1.2.test命令 可以对特定条件进行测试,并根据返回值来判断条件是否成立(…