一.变量
1.自定义变量
1.定义变量:变量名=变量值
# 变量名不能是纯数字 等号两边不能有空格 值里面有空格必须用引号包起来
name="niubi666"
2.引用变量 $变量名
echo $name
niubi666
3.重复定义变量
1) aaa=123
aaa=1122
echo $aaa
1122
值会被覆盖
2)
aaa="$aaa"3344 // aaa="${aaa}"5566
echo $aaa // echo $aaa
11223344 // 112233445566
给原来的值追加新的值的两种方式
4.变量查看
echo $变量名
set | grep 变量名
5.删除变量
unset 变量名
6.练习编写一个根据IP测试对方主机是否在线的脚本ping.sh
#!/bin/bash
read -p "请输入ip" num
ip=$num
ping -c1 $ip &> /dev/null && echo $ip upupup || echo $ip downdown
[root@kvm ~]# bash ping.sh
请输入ip10.10.11.197
10.10.11.197 upupup
[root@kvm ~]#
7.交互式定义变量
read -p "提示内容" 变量名
read -p "请输入ip" num
# 请输入ip
8.三种引号
# "" 弱引用
# '' 强引用
# `` 优先执行
2.整数运算
1.expr
expr 1 + 2
#!/bin/bash
read -p "请输入第一门成绩" num1
read -p "请输入第二门成绩" num2
echo "总成绩是:" `expr $num1 + $num2`
[root@kvm ~]# bash sum.sh
请输入第一门成绩998
请输入第二门成绩965
总成绩是: 1963
2.$((1 + 2))
#!/bin/bash
read -p "请输入第一门成绩" num1
read -p "请输入第二门成绩" num2
echo -n "总成绩是:" $(($num1 + $num2))
[root@kvm ~]# bash sum.sh
#请输入第一门成绩998
#请输入第二门成绩965
#总成绩是: 1963
3.$[1+2]
[root@kvm ~]# $[1+2]
-bash: 3: command not found
[root@kvm ~]# $[ 1 + 2 ]
-bash: 3: command not found
[root@kvm ~]# $[1 + 2]
-bash: 3: command not found
[root@kvm ~]# $[5 ** 2]
-bash: 25: command not found
4.let sum=2+3
echo $sum
[root@kvm ~]# let aaa=2+3
[root@kvm ~]# echo $aaa
5
let i++ echo $i
1
3.小数运算
先装bc
yum install -y bc
[root@kvm ~]# echo "2*4" |bc
8
[root@kvm ~]# echo "2*4" | bc
8
[root@kvm ~]# echo "2^4" | bc
16
echo "scale=小数点后几位;6/4" | bc
[root@kvm ~]# echo "scale=5;6/4" | bc
1.50000
4.环境变量
export #变量 这个声明表示该变量成为环境变量 适用范围 本shell和子shell
[root@kvm ~]# ls -a
. aaa.sh .bash_logout .bashrc createVM.sh .lesshst .pip sum.sh .viminfo
.. .bash_history .bash_profile .cache .cshrc ping.sh .ssh .tcshrc .wget-hsts
.bash_profile #这个文件按登录自启动文件 在这里声明的变量 当前用户的 所有bash 均可使用
/etc/profile #这个文件按开机自启动文件 在这里声明的变量 所有用户的 所有bash 均可使用
5.位置变量
$1 $2 .... $9
[root@kvm ~]# cat sum.sh
#!/bin/bash
echo -n "平均成绩是:"
echo "($1 + $2)/2" | bc
[root@kvm ~]# bash sum.sh 60 70
平均成绩是:65
6.预定义变量
$0 #代表脚本名称
$* #显示本脚本所有参数
$# #显示当前脚本参数的个数
$? #上一个程序的返回值 布尔值 0 成功 非零 失败
$$ #显示当前脚本的PID
7.练习 编写一个自动添加用户并设置初始密码的脚本 add.sh
#!/bin/bash
useradd $1
echo "123" | passwd --stdin $1 # 初始密码123
bash add.sh admin
成功!
标签:aaa,变量,kvm,echo,sh,root,bash
From: https://www.cnblogs.com/ckh2023/p/17768060.html