1、位置变量
2、预定义变量
3、自定义变量
1.1位置变量
#!/bin/bash #这是一个创建用户的脚本 useradd $1 echo "$2" | passwd --stdin $1 echo "用户$1已于’date‘创建"
使用位置变量安装httpd yum -y install $1
2.1预定义变量
预定义变量是由Bash程序预先定义好的一类特殊变量,用户只能使用预定义变量,而不能创建新的预定义变量,也不能直接为预定义变量赋值。预定义变量使用“$”符号和另一个符号组合表示 $#:表示命令行中位置参数的个数。 $*:表示所有位置参数的内容。这些内容当作一个整体 $?:表示前一条命令执行后的返回状态,返回值为0表示执行正确,返回任何非0值均表示执行出现异常。 $0:表示当前执行的脚本或程序的名称 $$:表示返回当前进程的进程号 $!:返回最后一个后台进程的进程号 $@:表示列出所有位置参数,但是是以单个的形式的列出
#!/bin/bash echo $0 echo $1 echo $2 echo $? echo $# echo $$ echo $! echo $* echo $@
3.1、自定义变量
(1)整数变量的运算
expr 变量1 运算符 变量2 [运算符 变量3] …
(2)常用运算符
●加法运算:+
●减法运算:-
●乘法运算:*
●除法运算:/
●求模(取余)运算: %
[root@localhost ~]# expr 1 + 1 2 [root@localhost ~]# expr 1 \* 3 3 [root@localhost ~]# expr 4 / 3 除法只取整 1 [root@localhost ~]# expr 4 % 3 余数为1 1
使用echo算数 [root@localhost ~]# echo $[5+5] 10 [root@localhost ~]# echo $((1+2)) 3 加入let混合示例 [root@localhost ~]# a=5 [root@localhost ~]# let a++ [root@localhost ~]# echo $a 6 [root@localhost ~]# let a-- [root@localhost ~]# echo $a 5 [root@localhost ~]# echo $a 5 [root@localhost ~]# echo $[a++] 5 [root@localhost ~]# echo $a 6 [root@localhost ~]# echo $[++a] 7 [root@localhost ~]# echo $a 7
bc计算小数 [root@localhost ~]# echo "1.1+1.2" | bc 2.3 [root@localhost ~]# echo "scale=3; 10/3" | bc 取小数点后三位 3.333 [root@localhost ~]# echo $[3**8] 计算3的8次方 6561 [root@localhost ~]# echo $[3^8] | bc 计算3的8次方 6561
示例求半径为2的圆的面积,去小数点后两位 [root@localhost ~]# pai=3.14 [root@localhost ~]# r=2 [root@localhost ~]# echo "scale=2;$pai*$r^2" | bc 12.56