RHEL之(八)Red Hat Linux Shell编程基础 III :特殊含义的字符以及Bash shell其他扩展功能
特殊含义的字符:# \ '' ""
5-1:注释符号 #
#:注释的开头,该字符以及同一行中该字符后面的所有的内容将被忽略
例如:shell脚本的第一行要加上 #!/bin/bash
建议:写脚本、配置文件的时候尽量多加注释,可方便自己和别人能够理解读懂代码。
5-2:转义字符 \
在Bash Shell里面,一些字符或单词具有特殊含义,在某些情况下,我们需要的仅仅是它的字面值,我们可以使用转义符号 (\),单引号('')或双引号("")来禁用特殊字符或单词的特殊含义。
转义字符(\):仅取消跟在改字符后面的单个字符的特殊含义
当文本字符串中的多个字符需要保留字面含义时,我们可以多次使 用转义字符(\)或者使用单引号('')。
单引号(''):保留其括起的所有字符的字面含义
双引号(""):双引号和单引号的区别在于,双引号不保留美元符号($)、反引号(``)和反斜杠(\)的字面值,使用双引号括起时,美元符号($)和反引号(``)保留其特殊含义,并且仅当反斜杠字符(\)前面是美元符号($)、反引号(``)、双引号("")、 反斜杠(\)或者换行符的时候,才会保留反斜杠字符(\)的特殊含义。
Tips:
变量中存储的2种常见的数据类型为整数值(integer)以及字符串值(string),为变量分配字符串值时,我们要用引号括起来,如果没有将字符串值放置在单引号或双引号中,Bash会将空格字符解释为单词分隔符。
5-3:花括号{}
通过在变量名称前面加上美元符号($),可以通过称为变量扩展的过程来重新调用变量的值。
可以使用 $var 来引用 var 变量的值,$var 的语法其实是花括号({})引起的变量扩展形式 ${var} 的简化版本。不过在某些情况下,必须使用花括号引起的形式以消除歧义并避免输出意外结果。
六、Bash Shell其他扩展功能
(1)命令替换:命令替换可以将命令的调用替换为执行命令后的输出,从命令的输出中提取信息,并将其赋值给变量。我们可以使用将命令括在反引号中的形式调用替换(`command`),但建议首选使用 $(command) ,因为允许嵌套的命令替换。
(2)算术扩展:Bash的算术扩展可以用于执行简单的整数的算数运算,使用语法是 $[expression] ,当 $[] 括起时,算术表达式将由 Bash进行求值,然后替换为求值结果,Bash将首先对括起的表达式执行变量扩展和命令替换,与命令替换一样,这里允许嵌套算术替换。算术扩展中使用的表达式里面允许使用空格字符。
(3)算术表达式中常用的运算符
a.递增递减
i++:变量后置递增(运算后加1)
i--: 变量后置递减(运算后减1)
++i:变量前置递增(运算前加1)
--i: 变量前置递减(运算前减1)
Tips:
循环语句可以在循环内使用任意类型的命令,包括其它的循环命令,这种循环叫做嵌套循环。注意,在使用嵌套循环时,我们是在迭代中使用迭代,与命令运行的次数是乘积的关系。
b.其它运算符
+:一元加法
-:一元减法
*:乘法
**:求幂
/:除法(取整)
%:求余
当表达式中存在多个运算符时,Bash将根据运算符的优先级,按顺序对特定的运算符进行求值。
优先级:
(1)i++ i--
(2)++i --i
(3)- +
(4)**
(5)* / %
c.浮点表达式bc: