变量的基本操作
变量没有类型,直接赋值就可以,类似这样:
name=geekgao
引用的时候这样:
$name 或者 ${name}
单引号/双引号/反撇号
单引号:
中间不能引用变量,也不能使用“\”转义。就是说,这里面的内容会保持原样。
双引号:
允许使用“$”或者“${}”引用变量,可以使用转义
反撇号或者$():
中间是一句可执行的命令,不能直接一行开始就写个`ls`或者$(ls),必须赋值给一个变量,例如v=`ls`。
有默认含义的变量
$? 上一个程序运行完成后的返回值,一般是为0表示没有错误
$# 运行这个脚本的时候有多少个参数(不包括“./脚本名”)
$0 “./脚本名”
$1-$9 第1-9个参数
$* 所有参数(不包括“./脚本名”)
数值处理及运算
整数运算:
(1)expr 1 + 2(*需要转义) 或者expr $X + $Y
(2)$[1+2](*不需要转义) 或者\$[X+Y] 或者也可以 \$[\$X+\$Y]
变量递更:
let x++
let y–
let x+=2
随机数:
x=$RANDOM
生成数字序列:
seq 10:会产生1 2 3 4 …… 10
seq 5 10:会产生5 6 7 …… 10
seq 1 2 10:产生1 3 5 …… 10
小数计算:
交给bc计算:echo “123.456+123.456” | bc