3.脚本语言-----shell脚本的基础知识

一、什么是shell

脚本命令解释器的一种

二、shell脚本的意义

1.记录命令执行的过程和执行逻辑,以便以后重复执行
2.脚本可以批量处理主机
3.脚本可以定时处理主机

三、如何创建shell脚本

#!/bin/bash ##幻数

首先编写 vim ~/.vimrc #作用:自动生成解释
vim自动添加脚本首部

vim  ~/.vimrc	#编写内容
"map <F4> ms:call WESTOS()<cr>"s
autocmd BufNewFile *.sh,*script call WESTOS()
func WESTOS()
  call append(0,"############################")
  call append(1,"#Create_Time:	".strftime("%Y/%m/%d"))	#自动获取年月日
  call append(2,"# Author: jwl")	#设置记录编写用户
  call append(3,"############################")
  call append(4,"")
  call append(5,"#!/bin/bash")
endfunc

autocmd BufNewFile *.sh setlocal sw=2 ts=2 et ai 

##测试:创建test.sh 脚本文件,自动生成解释

vim test.sh
############################
#Create_Time:	2021/06/13
# Author: jwl
############################

#!/bin/bash

在这里插入图片描述
在这里插入图片描述

四、如何执行shell脚本

vim jwl.sh

############################
# Create_Time:	2021/06/13
# Author: jwl
# 版本:1.0
############################

#!/bin/bash
echo "哈哈"
firewall-cmd --list-all

在这里插入图片描述

1.手动在环境中开启指定解释器

sh script.sh	#调用目录下的文件

2.直接在当前环境中运行shell中的指令不开启新的shell

source script.sh	
. script.sh	#直接脚本文件所在目录,直接调用

在这里插入图片描述

3.开启脚本中指定的shell并使用此shell环境运行脚本中的指令

chmod +x script.sh
/xxx/xxx/script.sh
./script.sh

在这里插入图片描述

五、.如何对脚本进行调试

sh -x /mnt/westos.sh #查看脚本具体运行过程

  • ##运行指令
    不带+ ##命令运行的输出
sh -x /mnt/jwl.sh

在这里插入图片描述

六、脚本练习:

1、host_messages.sh 显示当前主机的名称,ip登陆当前主机的用户

hostname: xxxxx
ipaddress: xxxx.xxxx.xxx.xxx
username: root

vim host_messages.sh	#编写脚本文件
cat host_messages.sh	#显示文件内容
############################
# Create_Time:	2021/06/13
# Author: jwl
# 版本:1.0
############################

#!/bin/bash
echo -e "hostname:\t$HOSTNAME"
echo -e "ipaddress:\t$(ifconfig ens3 | awk '/inet\>/{print $2}')"
echo -e "username: \t$USER"

sh host_messages.sh 	#运行脚本
hostname:	westosa.westos.org
ipaddress:	172.25.254.119
username: 	root

在这里插入图片描述

2、clear_log.sh 执行次脚本后可以清空日志

vim clear_log.sh 	#编写脚本文件
cat clear_log.sh 	#显示脚本文件内容
############################
# Create_Time:	2021/06/13
# Author: jwl
# 版本:1.0
############################

#!/bin/bash
[ "$USER" != "root" ]&&{
  echo "用户$0权限不够!!!"
  exit
}
[ ! -e "/var/log/messades" ] &&{
  echo "没有日志"
  exit
}
> /var/log/messades && { 
echo "系统服务常规信息日志清理完成"
}

sh clear_log.sh 	#运行脚本

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值