Shell脚本入门(一)--- 变量赋值、调取、echo$计算

Shell脚本入门(一)

文章目录

  • Shell脚本入门(一)
    • @[toc]
    • shell 脚本
      • 变量赋值
      • echo $[] 计算
    • 作业: 获取主机基本信息及分区使用率


shell 脚本

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

echo $[] 计算

[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

你可能感兴趣的:(从零开始的Shell编程,shell,linux,运维,ssh,负载均衡)