二、Shell脚本变量:位置变量,预定义变量,自定义变量

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]      计算38次方
6561
[root@localhost ~]# echo $[3^8] | bc     计算38次方
6561
示例求半径为2的圆的面积,去小数点后两位
[root@localhost ~]# pai=3.14
[root@localhost ~]# r=2
[root@localhost ~]# echo "scale=2;$pai*$r^2" | bc
12.56

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值