shell 变量:
(第一行的#表示解释的意思 调取bash去解释此脚本 第二行第三行表示注释脚本功能)
vim 1.sh
#!/user/bin/bash
#this is your first bash shell
#by Neko 2020/11/10
ip=47.94.145.183
if ping -c1 $ip &>/dev/null;then
echo "$ip is up"
else
echo "$ip is down"
fi
$ 调取变量 echo 输出
【 $ 调取变量 echo 输出】
vim 6.sh
#!/uSr/bin/bash ping-c1 $1&>/dev/null
if[ $?-eq 0];then
echo"$1 is up"
else
echo"$1 is down"
fi
sh ping 127.0.0.1 128.0.0.1
查看结果
[] 条件判断 $?上一条命令的返回值 -eq “=”等于 $1定义变量
vim 7.sh
#!/usr/bin/bash
#
#
read -p "please input your ip : " ip
if ping -c1 $ip &>/dev/null;then
echo "$ip is up"
else
echo "$ip is down"
fi
read -p 与计算机交互
【read -p 与计算机交互】
[root@Nekoosu tmp]# num1=10
[root@Nekoosu tmp]# num2=20
[root@Nekoosu tmp]# echo $num1+$num2
10+20
[root@Nekoosu tmp]# name="neko osu"
[root@Nekoosu tmp]# echo $name
neko osu
[root@Nekoosu tmp]# echo "$name is good! "
neko osu is good!
有空格需要加“”
vim 8.sh
#!/usr/bin/bash
#
#
read -p "please input your IP: " ip
ping -c1 $ip &>/dev/null
if [ $? = 0 ];then
echo " $ip is up "
else
echo " $ip is down "
fi
"" 前后要有空格
【"" 前后要有空格 】
定义或引用变量时注意事项:
""弱引用 (调取变量值)
’'强引用 (调取变量本身)
[root@Nekoosu tmp]# shcool=1000phone
[root@Nekoosu tmp]# echo "$shcool is good"
1000phone is good
[root@Nekoosu tmp]# echo '$school is good'
$school is good
保存当前日期的txt文件
[root@Nekoosu tmp]# touch `date +%F`_file.txt
[root@Nekoosu tmp]# ls
2020-11-10_file.txt
[root@Nekoosu tmp]# touch $(date +%F).txt
[root@Nekoosu tmp]# ls
2020-11-10.txt
```= $() 等价于`
vim 9.sh
#!/usr/bin/bash
#获取主机基本信息
time=`date +%F-%T`
echo "现在的时间是: " $time
echo "当前的用户是: " $USER
echo "当前的用户标识是: " $UID
echo "当前的主机名称是: " $HOSTNAME
[root@Nekoosu tmp]# sh 9.sh
现在的时间是: 2020-11-10-15:12:55
当前的用户是: root
当前的用户标识是: 0
当前的主机名称是: Nekoosu
[root@Nekoosu tmp]# echo $[2+2]
4
[root@Nekoosu tmp]# echo $[2-2]
0
[root@Nekoosu tmp]# echo $[2*2]
4
[root@Nekoosu tmp]# echo $[2**2]
4
[root@Nekoosu tmp]# echo $[2**3]
8
[root@Nekoosu tmp]# echo $[2/2]
1
vim 10.sh
#!/usr/bin/bash
#
#
mem_used=`free -m | grep Mem | awk '{print $3}'`
mem_total=`free -m | grep Mem | awk '{print $2}'`
mem_percent=$((mem_used*100/mem_total))
echo "当前内存使用百分比为: $mem_percent"
[root@Nekoosu tmp]# sh 10.sh
当前内存使用百分比为: 21
awk $2 切片 切取第二列的数值 $(()) 整数运算
#!/usr/bin/bash
#获取主机基本信息及分区使用率
#
mem_used=`free -m | grep Mem | awk '{print $3}'`
mem_total=`free -m | grep Mem | awk '{print $2}'`
mem_percent=$((mem_used*100/mem_total))
tetal=`df | grep / | grep /dev/vda | awk '{print $3}'`
residue=`df | grep / | grep /dev/vda | awk '{print $2}'`
result=$((tetal*100/residue))
residue1=`df -Th | grep / | grep ext4 | awk '{print $5}'`
time=`date +%F-%T`
echo "现在的时间是: " $time
echo "当前的用户是: " $USER
echo "当前的用户标识是: " $UID
echo "当前的主机名称是: " $HOSTNAME
echo "当前内存使用百分比使用率为: $mem_percent"
echo "当前主机/分区的百分比使用率为: $result"
echo "当前主机/分区剩余空间为 $residue1"
[root@Nekoosu tmp]# sh c.sh
现在的时间是: 2020-11-10-17:02:27
当前的用户是: root
当前的用户标识是: 0
当前的主机名称是: Nekoosu
当前内存使用百分比使用率为: 21
当前主机/分区的百分比使用率为: 7
当前主机/分区剩余空间为 35G