目录
简介
定义变量
变量调用
重复定义变量
查看变量:set
变量删除
示例:
交互定义变量
整数运算
小数运算(了解)
环境变量
位置变量和预定义变量(了解)
简介
shell 变量? 用一个固定的字符串去表示不固定的内容,便于修改。
用户自定义变量是最常用的变量类型,其特点是变量名和变量值都是由用户自由定义的。
定义变量:变量名=变量值
引用变量:$ 变量名 或$(变量名)
查看变量:echo $变量名; “set” 可以查看所有变量(包括自定义变量和环境变量)
取消变量: unset变量名
示例:
定义变量
name=“lisi”
name=lisi
变量调用
[root@mycat ~]# echo $name lisi [root@mycat ~]# name=lisi [root@mycat ~]# echo $name lisi [root@mycat ~]# name=li si bash: si: 未找到命令... 相似命令是: 'ci'
重复定义变量
aa=123
[root@mycat ~]# aa=${aa}123
[root@mycat ~]# echo $aa
123123
查看变量:set
我们可以通过 echo 命令查询已经设定的变量的值,这种查询是已知变量名查询变量值。
但是如果我不知道变量名,那么可以查询系统中已经存在的变量吗?
变量删除
示例:
使用变量前
vim ping.sh ping -c 1 192.168.238.132 &> /dev/null && echo 192.168.238.132up || echo 192.168.238.132down ping -c 1 192.168.238.131 &> /dev/null && echo 192.168.238.131up || echo 192.168.238.131down
授权脚本
chmod+x ping.sh bash: chmod+x: 未找到命令... [root@mycat ~]# chmod +x ping.sh [root@mycat ~]# ./ping.sh 192.168.238.132up 192.168.238.131down
使用变量后
vim ping.sh ip1=192.168.238.132 ip2=192.168.238.131 ping -c 1 $ip1 &> /dev/null && echo $ip1 up || echo $ip1 down ping -c 1 $ip2 &> /dev/null && echo $ip2 up || echo $ip2 down
交互定义变量
vim ping.sh
read -p "please enter the IP address you want to test:" ip
ping -c 1 $ip &> /dev/null && echo $ip up || echo $ip down
整数运算
小数运算(了解)
[root@mycat ~]# echo "2^4" | bc 16 [root@mycat ~]# echo "scale=3;6/4" | bc 1.500 [root@mycat ~]# echo "scale=5;6/4" | bc 1.50000
环境变量
[root@mycat ~]# meinanzi=xulei
[root@mycat ~]# echo $meinanzi
xulei
[root@mycat ~]# bash
[root@mycat ~]# echo $meinanzi
//子shell
[root@mycat ~]# export meinazi //声明之后在父子shell 都可以打开 [root@mycat ~]# echo $meinazi lll [root@mycat ~]# bash //子shell [root@mycat ~]# echo $meinazi lll [root@mycat ~]# name=aa //没声明只能在父shell中打开 [root@mycat ~]# echo $name aa [root@mycat ~]# bash [root@mycat ~]# echo $name
位置变量和预定义变量(了解)
#!/bin/bash read -p"Please enter a user name:" user read -p"Please enter a user password:" password useradd $user echo "$pass" | passwd --stdin $user &> /dev/null echo "$user has been created,$user de mimashi $pass" ./useradd.sh Please enter a user name:yifan1 Please enter a user password: yifan1 has been created,yifan1 de mimashi [root@mycat ~]# id yifan1 uid=1002(yifan1) gid=1002(yifan1) 组=1002(yifan1)



