mysql定义shell变量_shell 变量的定义,赋值,运算

一、变量类型

1.1、自定义变量

1.定义变量

不能使用纯数字命名,不能使用横杠命名

变量名=变量值

[root@localhost ~]# name=erha

2.引用变量

$变量名 或者 ${变量量名}

3.查看变量值

echo$变量量名

[root@localhost ~]# echo $name

erha

4.取消变量

[root@localhost ~]# unset name

[root@localhost ~]# echo $name

5.作⽤用范围

仅在当前shell中有效

1.2、系统环境变量

1.定义环境变量

export变量名

将⾃定义变量转换成环境变量,先定义,后准换

[root@localhost ~]# name=huahua

[root@localhost ~]# export name

2.引用环境变量

$变量名或 ${变量名}

3.查看环境变量

echo$变量名

[root@localhost ~]# echo $name

huahua

4.取消环境变量

unset变量量名

[root@localhost ~]# unset name

[root@localhost ~]# env |grep name

#取消该变量后,查询系统环境变量中,就没name这个变量了。

5.变量作⽤用范围

在当前shell和⼦shell有效

1.3、系统环境变量

$1$2$3$4$5$6 ...

#$1代表向脚本内传递的第一个位置参数,$2代表第二个,依次类推。

1.4、预定义变量

$0脚本⽂文件名

$* $@所有的参数

$#参数的个数

$$当前进程的 PID

$!上一个后台进程的 PID

$?上一个命令的返回值 0 表示成功

小脚本

[root@localhost ~]# cat var.sh

#!/bin/bash

echo "第一个参数:$1"

echo "第二个参数:$2"

echo "第三个参数:$3"

echo "第四个参数:$4"

echo "所有参数为:$*"

echo "参数个数为:$#"

echo "当前进程ID为:$$"

echo "上一个进程ID为:$!"

echo "当前脚本名称为:$0"

echo "当前脚本执行结果:$?"

执行如下

[root@localhost ~]# sh var.sh 1 2 3 4 5

第一个参数:1

第二个参数:2

第三个参数:3

第四个参数:4

所有参数为:1 2 3 4 5

参数个数为:5

当前进程ID为:8875

上一个进程ID为:

当前脚本名称为:var.sh

当前脚本执行结果:0

二、变量赋值

2.1、直接赋值

[root@localhost ~]# name=huahua

#注意等号两边不能有空格

2.2、从键盘读入

[root@localhost ~]# read 参数 变量名

可选参数

-p :提示信息

-t :等待时间

-n :读入字符数

小脚本

解压文件到指定位置

[root@localhost ~]# cat tr.sh

#!/bin/bash

read -p "请输入要解压的文件,及解压目录:" src dst

if [ -e $src ];then

tar -zxvf $src -C $dst

else

echo "没有该文件..."

fi

2.3、强引用与弱引用

"" :弱引用,特殊字符依旧有特定含义。

[root@localhost ~]# age=18

[root@localhost ~]# echo "$age"

18

'' :强引用,所有字符被当作普通字符处理。

[root@localhost ~]# echo '$name'

$name

2.4、命令执行结果引用

`` :反引号,不过容易与引号混淆。

[root@localhost ~]# t1=`date +%F`

[root@localhost ~]# echo $t1

2020-01-20

$():$加小括号,不容易混淆,一般使用这种方式较多

[root@localhost ~]# t2=$(date +%F)

[root@localhost ~]# echo $t2

2020-01-20

三、数学运算

3.1、整数运算(expr)

加 减 乘 除 取余

+ - \* / %

[root@localhost ~]# expr 1 + 1

2

[root@localhost ~]# expr 1 - 1

0

[root@localhost ~]# expr 1 \* 1

1

[root@localhost ~]# expr 1 / 1

1

[root@localhost ~]# expr 1 % 1

0

3.2、整数运算($(()))

加 减 乘 除 取余 幂运算

+ - * / % **

[root@localhost ~]# echo $((1 + 2))

3

[root@localhost ~]# echo $((1 - 2))

-1

[root@localhost ~]# echo $((1 * 2))

2

[root@localhost ~]# echo $((1 / 2))

0

[root@localhost ~]# echo $((1 % 2))

1

[root@localhost ~]# echo $((1 ** 2))

1

3.3、整数运算($[])

与 $(())类似

[root@localhost ~]# echo $[1+2]

3

[root@localhost ~]# echo $[1-2]

-1

[root@localhost ~]# echo $[1*2]

2

[root@localhost ~]# echo $[1/2]

0

[root@localhost ~]# echo $[1**2]

1

3.4、整数运算(let)

加 减 乘 除 取余 幂运算

+ - * / % **

[root@localhost ~]# let nu=2**4

[root@localhost ~]# echo $nu

16

3.5、小数运算

可以使用bc命令

[root@localhost ~]# echo "1.1"+"2.3"|bc

3.4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值