条件运算符
Tutorial: Conditions in bash scripting
数学运算
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。
expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
|
|
注意:
- 表达式和运算符之间要有空格,例如 1+2 是不对的,必须写成 1 + 2
- 完整的表达式要被 ` ` 包含。
另外,使用 $(()) 可对表达式进行简单计算
|
|
另外,还可使用 let 命令
独立开发,自由职业
Tutorial: Conditions in bash scripting
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。
expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
|
|
注意:
另外,使用 $(()) 可对表达式进行简单计算
|
|
另外,还可使用 let 命令
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,0 为执行的文件名(包含路径,如果有路径的话),1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
另外,还有几个特殊字符用来处理参数:
$0
为执行的文件名(包含路径,如果有路径的话)$n
n 为1、2、3…获取第1、2、3…个参数$#
传递到脚本的参数个数$*
以一个单字符串显示所有向脚本传递的参数。$@
与$*相同,区别见下面的介绍。$$
脚本运行的当前进程ID号$!
后台运行的最后一个进程的ID号$-
显示Shell使用的当前选项,与set命令功能相同。$?
显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。$*
与 $@
区别:
bash支持一维数组(不支持多维数组),并且没有限定数组的大小,初始化时不需要定义数组大小。
数组元素的下标
在Shell中,用括号来表示数组,数组元素用”空格”符号分割开。定义数组的一般形式为:数组名=(值1 值2 ... 值n)
,例如:
|
|
还可以单独定义数组的各个分量:
|
|
字符串是shell编程中最常用最有用的数据类型。字符串可以用单引号,也可以用双引号,也可以不用引号;区别如下。
|
|
单引号字符串的限制:
|
|
双引号的优点:
使用一个定义过的变量,只要在变量名前面加美元符号即可,如:
|
|
变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界。推荐给所有变量加上花括号(尤其是变量后面没有空格、而是其他字符时),这是个好的编程习惯。
使用 readonly 命令可以将变量定义为只读变量:
|
|