认识脚本

是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。脚本语言又被称为扩建的语言, 或者动态语言, 是一种编程语言, 用来控制软件应用程序, 脚本通常是以文本 (ASCⅡ) 保存, 只是在被调用时进行解释或者编译。

学习shell脚本的用途
对于一个合格的系统管理员来说,学习和掌握Shell编程是非常重要的。可以在很大程度上简化日常的维护工作,使得管理员从简单的重复劳动中解脱出来。

shell特点
1.shell是一个解释性语言(Python也是),不需要编译等过程,它是从脚本程序中一行一行的读取并执行命令;相对于其他语言来说较为简单。
2. shell是什么 shell(壳),又称之为命令解释器,是一种脚本语言,作用是当用户输入命令时,shell会将命令解析传递给内核,通过内核执行相应的动作。
Linux  shell脚本入门——shell语言脚本【CentOS】_Linux  shell
学习shell知识储备:

  1. 熟练使用vim编译器
  2. 熟悉Linux的相关命令和一些基础的服务
  3. 熟悉三个工具,grep,sed,awk

脚本的命名规则

  1. 其命名规则和标识符的定义相似
  2. 一般使用驼峰法命名,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,国内喜欢用下划线,例如name_file等

shell脚本的基本构成
1.新建一个脚本文件,文件的首行一般为制定shell解释器#!/bin/bash
2.可以写一些合适的注释,在访问脚本时,快速理解执行语句的意思
3.一般约定成俗的在命名脚本文件时为filename.sh
4.可执行语句:即实现程序的功能
5.脚本内注释:-用#实现单行的注释;-用<<BLOCK …注释,BLOCK 实现的是块注释,一次性注释多行

shell脚本的执行:

  1. 切换到shell脚本所在的目录执行shell脚本
  2. 使用绝对路径的方式去执行bash shell脚本
  3. 直接使用bash 或sh 来执行bash shell脚本
  4. 在当前的shell环境中执行bash shell脚本:source或".“

执行方法之间的区别

  1. 方法一和方法二脚本需要执行权限,./script_name.sh或/path/script_name.sh
  2. 方法三:可以在脚本中不指定解释器,脚本可以没有执行权限
  3. 方法四:当前shell执行,方法1-3开启子shell。

除此外脚本语言还分包括:Scala、JavaScript,VBScript,ActionScript,MAX Script,ASP,JSP,PHP,SQL,Perl,Shell,Python,Ruby等。
Linux  shell脚本入门——shell语言脚本【CentOS】_Linux  shell_02

下面我们做一个脚本来看一下:

#!/bin/bash  
# 获取要监控的本地服务器IP地址  
IP=`ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'`  
echo "IP地址:"$IP  
   
# 获取cpu总核数  
cpu_num=`grep -c "model name" /proc/cpuinfo`  
echo "cpu总核数:"$cpu_num  
   
cpu_user=`top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d "%"`  
echo "用户空间占用CPU百分比:"$cpu_user  
   
# 获取内核空间占用CPU百分比  
cpu_system=`top -b -n 1 | grep Cpu | awk '{print $4}' | cut -f 1 -d "%"`  
echo "内核空间占用CPU百分比:"$cpu_system  
   
# 获取空闲CPU百分比  
cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $8}' | cut -f 1 -d "%"`  
echo "空闲CPU百分比:"$cpu_idle  

#获取内存信息  
# 获取物理内存总量  
mem_total=`free | grep Mem | awk '{print $2}'`  
echo "物理内存总量:"$mem_total  
   
# 获取操作系统已使用内存总量  
mem_sys_used=`free | grep Mem | awk '{print $3}'`  
echo "已使用内存总量(操作系统):"$mem_sys_used  
   
# 获取操作系统未使用内存总量  
mem_sys_free=`free | grep Mem | awk '{print $4}'`  
echo "剩余内存总量(操作系统):"$mem_sys_free  
   
# 获取应用程序已使用的内存总量  
mem_user_used=`free | sed -n 3p | awk '{print $3}'`  
echo "已使用内存总量(应用程序):"$mem_user_used  
   
# 获取应用程序未使用内存总量  
mem_user_free=`free | sed -n 3p | awk '{print $4}'`  
echo "剩余内存总量(应用程序):"$mem_user_free  
# 获取交换分区总大小  
mem_swap_total=`free | grep Swap | awk '{print $2}'`  
echo "交换分区总大小:"$mem_swap_total  
   
# 获取已使用交换分区大小  
mem_swap_used=`free | grep Swap | awk '{print $3}'`  
echo "已使用交换分区大小:"$mem_swap_used  
   
# 获取剩余交换分区大小  
mem_swap_free=`free | grep Swap | awk '{print $4}'`  
echo "剩余交换分区大小:"$mem_swap_free

Linux  shell脚本入门——shell语言脚本【CentOS】_Linux  shell_03

保存然后我们执行一下

Linux  shell脚本入门——shell语言脚本【CentOS】_Linux  shell_04
如果提示没有权限记得chmod修改下权限,需要x执行权限。

这样我们一个简单的小脚本就完成了

比如还可以用shell写一个

#!/bin/bash
echo "Hello World !"

执行后会提示 Hello World !