mysql定义shell变量_shell 变量的定义,赋值,运算
一、變量類型
1.1、自定義變量
1.定義變量
不能使用純數(shù)字命名,不能使用橫杠命名
變量名=變量值
[root@localhost ~]# name=erha
2.引用變量
$變量名 或者 ${變量量名}
3.查看變量值
echo$變量量名
[root@localhost ~]# echo $name
erha
4.取消變量
[root@localhost ~]# unset name
[root@localhost ~]# echo $name
5.作?用范圍
僅在當(dāng)前shell中有效
1.2、系統(tǒng)環(huán)境變量
1.定義環(huán)境變量
export變量名
將?定義變量轉(zhuǎn)換成環(huán)境變量,先定義,后準(zhǔn)換
[root@localhost ~]# name=huahua
[root@localhost ~]# export name
2.引用環(huán)境變量
$變量名或 ${變量名}
3.查看環(huán)境變量
echo$變量名
[root@localhost ~]# echo $name
huahua
4.取消環(huán)境變量
unset變量量名
[root@localhost ~]# unset name
[root@localhost ~]# env |grep name
#取消該變量后,查詢系統(tǒng)環(huán)境變量中,就沒name這個(gè)變量了。
5.變量作?用范圍
在當(dāng)前shell和?shell有效
1.3、系統(tǒng)環(huán)境變量
$1$2$3$4$5$6 ...
#$1代表向腳本內(nèi)傳遞的第一個(gè)位置參數(shù),$2代表第二個(gè),依次類推。
1.4、預(yù)定義變量
$0腳本?文件名
$* $@所有的參數(shù)
$#參數(shù)的個(gè)數(shù)
$$當(dāng)前進(jìn)程的 PID
$!上一個(gè)后臺(tái)進(jìn)程的 PID
$?上一個(gè)命令的返回值 0 表示成功
小腳本
[root@localhost ~]# cat var.sh
#!/bin/bash
echo "第一個(gè)參數(shù):$1"
echo "第二個(gè)參數(shù):$2"
echo "第三個(gè)參數(shù):$3"
echo "第四個(gè)參數(shù):$4"
echo "所有參數(shù)為:$*"
echo "參數(shù)個(gè)數(shù)為:$#"
echo "當(dāng)前進(jìn)程ID為:$$"
echo "上一個(gè)進(jìn)程ID為:$!"
echo "當(dāng)前腳本名稱為:$0"
echo "當(dāng)前腳本執(zhí)行結(jié)果:$?"
執(zhí)行如下
[root@localhost ~]# sh var.sh 1 2 3 4 5
第一個(gè)參數(shù):1
第二個(gè)參數(shù):2
第三個(gè)參數(shù):3
第四個(gè)參數(shù):4
所有參數(shù)為:1 2 3 4 5
參數(shù)個(gè)數(shù)為:5
當(dāng)前進(jìn)程ID為:8875
上一個(gè)進(jìn)程ID為:
當(dāng)前腳本名稱為:var.sh
當(dāng)前腳本執(zhí)行結(jié)果:0
二、變量賦值
2.1、直接賦值
[root@localhost ~]# name=huahua
#注意等號(hào)兩邊不能有空格
2.2、從鍵盤讀入
[root@localhost ~]# read 參數(shù) 變量名
可選參數(shù)
-p :提示信息
-t :等待時(shí)間
-n :讀入字符數(shù)
小腳本
解壓文件到指定位置
[root@localhost ~]# cat tr.sh
#!/bin/bash
read -p "請(qǐng)輸入要解壓的文件,及解壓目錄:" src dst
if [ -e $src ];then
tar -zxvf $src -C $dst
else
echo "沒有該文件..."
fi
2.3、強(qiáng)引用與弱引用
"" :弱引用,特殊字符依舊有特定含義。
[root@localhost ~]# age=18
[root@localhost ~]# echo "$age"
18
'' :強(qiáng)引用,所有字符被當(dāng)作普通字符處理。
[root@localhost ~]# echo '$name'
$name
2.4、命令執(zhí)行結(jié)果引用
`` :反引號(hào),不過容易與引號(hào)混淆。
[root@localhost ~]# t1=`date +%F`
[root@localhost ~]# echo $t1
2020-01-20
$():$加小括號(hào),不容易混淆,一般使用這種方式較多
[root@localhost ~]# t2=$(date +%F)
[root@localhost ~]# echo $t2
2020-01-20
三、數(shù)學(xué)運(yùn)算
3.1、整數(shù)運(yùn)算(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、整數(shù)運(yùn)算($(()))
加 減 乘 除 取余 冪運(yùn)算
+ - * / % **
[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、整數(shù)運(yùn)算($[])
與 $(())類似
[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、整數(shù)運(yùn)算(let)
加 減 乘 除 取余 冪運(yùn)算
+ - * / % **
[root@localhost ~]# let nu=2**4
[root@localhost ~]# echo $nu
16
3.5、小數(shù)運(yùn)算
可以使用bc命令
[root@localhost ~]# echo "1.1"+"2.3"|bc
3.4
總結(jié)
以上是生活随笔為你收集整理的mysql定义shell变量_shell 变量的定义,赋值,运算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一文搞懂深度学习中常用的优化算法
- 下一篇: mysql配置文件路径