随笔 - 55  文章 - 0  评论 - 0  阅读 - 1047

3_变量

一.变量

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
成功!
posted on   鸟叔书  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示