shell编程(一)

转义和引用

引入问题:以前咱们知道了变量名前面加上$符号表明引用变量,可是若是我如今就须要打印出$符号该怎么办呢?想一想咱们在python中怎么作的,答案是转义。python

转义

Shell中有两种字符
一种是普通字符,没有其余的特殊含义,即普通纯文本(literal)
另外一种是元字符(meta),是shell的保留字符,在shell中有特殊的含义,好比:$
为了使用元字符的原本含义,须要使用反斜线 \ 来转义特殊字符 !!!
shell

引用

Shell中的引用是指将字符串用某种符号包含起来,以防止特殊字符被解析为其余的意思。
Shell中一共有4种引用符:单引号、双引号、反引号 和 转义符express

部分引用
指用双引号印起来的内容。使用这种引用时,$、`(反引号)、\(转义符) 这3个仍是会解析成特殊的意义工具

全引用
指用单引号引发来的内容,单引号中的任何字符串都看成普通字符串。单引号当中不能包含单引号,转义也不行。测试

命令替换

Shell中能够将命令的标准输出做为值赋给某个变量,Shell中有两种方式能够完成命令替换,一种是反引号(`),一种是:$()3d

反引号(`)

反引号是经常使用的一种命令替换,有点在于使用方便
direct=`pwd` #direct等于当前绝对路径blog

$()

$()和反引号是等价的,可是$()会让代码看上更加清晰,同时还支持嵌套,反引号是不支持嵌套的算术扩展是Shell提供的整数变量的运算机制,是Shell的内建命令之一算术扩展是Shell提供的整数变量的运算机制,是Shell的内建命令之一。
字符串

运算

算术运算

Shell中只支持整数计算,全部产生小数的运算都会舍去小数部分。
常见运算符
常见的运算符包含:加(+)、减(-)、乘(*)、除(/)、取余(%) 和 幂(**),常见的算术运算大多须要结合Shell的内建命令 let 来使用。
it

符合运算符
常见符合运算符包含加等(+=)、减等(-=)、乘等(*=)、除等(/=)、余等(%=)
io

其余算术运算

$[]
$[] 能够用于简单的运算

算术扩展:$((…))
算术扩展是Shell提供的整数变量的运算机制,是Shell的内建命令之一。

高精度计算
bc 是Linux下一款用来进行高精度计算的工具,甚至能够称它为一门语言
直接输入:bc 进入它的交互模式
默认状况下,bc不显示小数部分,能够经过scale来设置小数位数
在shell脚本中能够经过管道符来使用 bc

测试

Shell中进行测试有两种方法
第一种是使用 test 命令
第二种是使用 [ 启动一个测试,以 ] 结束测试

test

test expression
expression 是一个表达式,能够是算术比较、字符串比较、文本和文件属性等

-e 是一个文件测试符,用来判断文件是否存在

[ expression ]

[ expression ] 是经常使用的测试方式
注意:左边的括号 [ 后边有一个空格, 右括号 ] 前面也有一个空格,任意一个地方少一个空格都会报错
在if、while、case等里面通常都会使用这种方式

文件测试

经过文件测试符,能够进行很是多的文件测试

字符串测试

Shell中字符串的比较主要有等于、不等于、大于、小于、是否为空

整数比较

整数测试是经常使用的简单算术运算

逻辑测试

逻辑测试主要有逻辑非(!)、逻辑与(-a 或 &&)、逻辑或(-o 或 ||)3种

判断

If 判断是经常使用的判断语句,有多种形式,能够根据不一样的需求来选择形式
语法规则

须要注意:
1. 判断式后面有分号(;) 和 then ,而且之间有空格
2. 一个 if 判断最后必定要以 fi 结尾

示例:

相关文章
相关标签/搜索